From af442249a0a11f3e6c159ae97d95d38384284a59 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Fri, 12 Jul 2024 17:52:32 +0200 Subject: [PATCH] tsocket: Use iov_buflen Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison --- libcli/smb/tstream_smbXcli_np.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/libcli/smb/tstream_smbXcli_np.c b/libcli/smb/tstream_smbXcli_np.c index 02483004080..ad92ba43b27 100644 --- a/libcli/smb/tstream_smbXcli_np.c +++ b/libcli/smb/tstream_smbXcli_np.c @@ -26,6 +26,7 @@ #include "smbXcli_base.h" #include "tstream_smbXcli_np.h" #include "libcli/security/security.h" +#include "lib/util/iov_buf.h" static const struct tstream_context_ops tstream_smbXcli_np_ops; @@ -537,11 +538,13 @@ static void tstream_smbXcli_np_writev_write_next(struct tevent_req *req) tstream_context_data(state->stream, struct tstream_smbXcli_np); struct tevent_req *subreq; - size_t i; - size_t left = 0; + ssize_t left; - for (i=0; i < state->count; i++) { - left += state->vector[i].iov_len; + left = iov_buflen(state->vector, state->count); + + if (left < 0) { + tevent_req_error(req, EMSGSIZE); + return; } if (left == 0) { -- 2.47.3