]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
tsocket: Use iov_buflen
authorVolker Lendecke <vl@samba.org>
Fri, 12 Jul 2024 15:52:32 +0000 (17:52 +0200)
committerJeremy Allison <jra@samba.org>
Tue, 6 Aug 2024 16:29:33 +0000 (16:29 +0000)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
libcli/smb/tstream_smbXcli_np.c

index 024830040801d1f05c5a27241df51aa0a11c3feb..ad92ba43b274e9577578435d2271e7b436081cfb 100644 (file)
@@ -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) {