mirror of
https://github.com/samba-team/samba.git
synced 2024-12-28 07:21:54 +03:00
r3652: Fix malloc-history dependent failures in smbtorture.
Because -r 3591 removed the over-allocation, realloc() had a chance of returning a different pointer. This broke the length calculations in the trans2 send code. I think the length calculations coudld be better expressed (less cute PTR_DIFF tricks) but I'm not going to touch this any more than I need to. Andrew Bartlett
This commit is contained in:
parent
bd9497b092
commit
4bfc916a2c
@ -222,7 +222,13 @@ struct smbcli_request *smb_raw_trans_send_backend(struct smbcli_tree *tree,
|
||||
if (!req) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
/* Watch out, this changes the req->out.* pointers */
|
||||
if (command == SMBtrans && parms->in.trans_name) {
|
||||
namelen = smbcli_req_append_string(req, parms->in.trans_name,
|
||||
STR_TERMINATE);
|
||||
}
|
||||
|
||||
/* fill in SMB parameters */
|
||||
outparam = req->out.data + padding;
|
||||
outdata = outparam + parms->in.params.length;
|
||||
@ -230,11 +236,6 @@ struct smbcli_request *smb_raw_trans_send_backend(struct smbcli_tree *tree,
|
||||
/* make sure we don't leak data via the padding */
|
||||
memset(req->out.data, 0, padding);
|
||||
|
||||
if (command == SMBtrans && parms->in.trans_name) {
|
||||
namelen = smbcli_req_append_string(req, parms->in.trans_name,
|
||||
STR_TERMINATE);
|
||||
}
|
||||
|
||||
/* primary request */
|
||||
SSVAL(req->out.vwv,VWV(0),parms->in.params.length);
|
||||
SSVAL(req->out.vwv,VWV(1),parms->in.data.length);
|
||||
|
Loading…
Reference in New Issue
Block a user