From: Volker Lendecke Date: Thu, 4 Sep 2025 15:07:35 +0000 (+0200) Subject: vfs: Fix a few signed/unsigned warnings X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=553190ae5a83aa0e8d57a0127253b02c5ca2b8dc;p=thirdparty%2Fsamba.git vfs: Fix a few signed/unsigned warnings Signed-off-by: Volker Lendecke Reviewed-by: Ralph Boehme --- diff --git a/source3/modules/vfs_streams_xattr.c b/source3/modules/vfs_streams_xattr.c index 455789d562a..7cc24d6d88a 100644 --- a/source3/modules/vfs_streams_xattr.c +++ b/source3/modules/vfs_streams_xattr.c @@ -1315,7 +1315,7 @@ static ssize_t streams_xattr_pread(vfs_handle_struct *handle, length); /* Attempt to read past EOF. */ - if (length <= offset) { + if (length <= (size_t)offset) { /* offset>=0, see above */ return 0; } @@ -1363,8 +1363,13 @@ static struct tevent_req *streams_xattr_pread_send( return req; } + if (n >= SSIZE_MAX) { + tevent_req_error(req, EOVERFLOW); + return tevent_req_post(req, ev); + } + state->nread = SMB_VFS_PREAD(fsp, data, n, offset); - if (state->nread != n) { + if (state->nread != (ssize_t)n) { if (state->nread != -1) { errno = EIO; } @@ -1443,8 +1448,13 @@ static struct tevent_req *streams_xattr_pwrite_send( return req; } + if (n >= SSIZE_MAX) { + tevent_req_error(req, EOVERFLOW); + return tevent_req_post(req, ev); + } + state->nwritten = SMB_VFS_PWRITE(fsp, data, n, offset); - if (state->nwritten != n) { + if (state->nwritten != (ssize_t)n) { if (state->nwritten != -1) { errno = EIO; }