diff options
author | Jean-François Micouleau <jfm@samba.org> | 2001-08-17 17:07:40 +0000 |
---|---|---|
committer | Jean-François Micouleau <jfm@samba.org> | 2001-08-17 17:07:40 +0000 |
commit | ccb927b17ca3194118b9dfc9a5a533b62a448ec7 (patch) | |
tree | e85e14047fd6888a26f016463a79a3222e566e8a /source3/libsmb | |
parent | 8db28234c548cc4a381f93981df607ffe816c664 (diff) | |
download | samba-ccb927b17ca3194118b9dfc9a5a533b62a448ec7.tar.gz samba-ccb927b17ca3194118b9dfc9a5a533b62a448ec7.tar.bz2 samba-ccb927b17ca3194118b9dfc9a5a533b62a448ec7.zip |
more useful debug messages and check if the size are non null.
that fix the notification backend channel for spoolss.
J.F.
(This used to be commit 5e9a36bd9c1aa1a28f042ec9016a097215e4539e)
Diffstat (limited to 'source3/libsmb')
-rw-r--r-- | source3/libsmb/clitrans.c | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/source3/libsmb/clitrans.c b/source3/libsmb/clitrans.c index c4e19b9375..c97ddfc331 100644 --- a/source3/libsmb/clitrans.c +++ b/source3/libsmb/clitrans.c @@ -188,18 +188,25 @@ BOOL cli_receive_trans(struct cli_state *cli,int trans, total_param = SVAL(cli->inbuf,smb_tprcnt); /* allocate it */ - tdata = Realloc(*data,total_data); - if (!tdata) { - DEBUG(0,("cli_receive_trans: failed to enlarge buffer")); - return False; + if (total_data!=0) { + tdata = Realloc(*data,total_data); + if (!tdata) { + DEBUG(0,("cli_receive_trans: failed to enlarge data buffer\n")); + return False; + } + else + *data = tdata; } - else *data = tdata; - tdata = Realloc(*param,total_param); - if (!tdata) { - DEBUG(0,("cli_receive_trans: failed to enlarge buffer")); - return False; + + if (total_param!=0) { + tdata = Realloc(*param,total_param); + if (!tdata && total_param!=0) { + DEBUG(0,("cli_receive_trans: failed to enlarge param buffer\n")); + return False; + } + else + *param = tdata; } - else *param = tdata; while (1) { this_data = SVAL(cli->inbuf,smb_drcnt); |