summaryrefslogtreecommitdiffstats
path: root/source3/smbd/reply.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/smbd/reply.c')
-rw-r--r--source3/smbd/reply.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index b2d3f44b22..a334490f24 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -1698,11 +1698,10 @@ void reply_search(struct smb_request *req)
}
} else {
unsigned int i;
- maxentries = MIN(
- maxentries,
- ((BUFFER_SIZE -
- ((uint8 *)smb_buf(req->outbuf) + 3 - req->outbuf))
- /DIR_STRUCT_SIZE));
+ size_t hdr_size = ((uint8_t *)smb_buf(req->outbuf) + 3 - req->outbuf);
+ size_t available_space = BUFFER_SIZE - hdr_size;
+
+ maxentries = MIN(maxentries, available_space/DIR_STRUCT_SIZE);
DEBUG(8,("dirpath=<%s> dontdescend=<%s>\n",
directory,lp_dont_descend(ctx, SNUM(conn))));