diff options
Diffstat (limited to 'source3/smbd/process.c')
-rw-r--r-- | source3/smbd/process.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/source3/smbd/process.c b/source3/smbd/process.c index 3547bfcc3a..1701cd33da 100644 --- a/source3/smbd/process.c +++ b/source3/smbd/process.c @@ -1823,6 +1823,25 @@ void chain_reply(struct smb_request *req) #else /* + * How many bytes have we already accumulated up to the current wct field + * offset? + */ + +size_t req_wct_ofs(struct smb_request *req) +{ + size_t buf_size; + + if (req->chain_outbuf == NULL) { + return smb_wct - 4; + } + buf_size = talloc_get_size(req->chain_outbuf); + if ((buf_size % 4) != 0) { + buf_size += (4 - (buf_size % 4)); + } + return buf_size - 4; +} + +/* * Hack around reply_nterror & friends not being aware of chained requests, * generating illegal (i.e. wct==0) chain replies. */ |