converted smbd to use NTSTATUS by default
[sfrench/samba-autobuild/.git] / source3 / libsmb / clitrans.c
index 4822508e380e20c3fae40395c96d3da9a6747309..6ae10144354ee7e60c582824a2c36e5627093122 100644 (file)
@@ -412,20 +412,25 @@ BOOL cli_receive_nt_trans(struct cli_state *cli,
        total_param = SVAL(cli->inbuf,smb_ntr_TotalParameterCount);
 
        /* allocate it */
-       tdata = Realloc(*data,total_data);
-       if (!tdata) {
-               DEBUG(0,("cli_receive_nt_trans: failed to enlarge buffer"));
-               return False;
+       if (total_data) {
+               tdata = Realloc(*data,total_data);
+               if (!tdata) {
+                       DEBUG(0,("cli_receive_nt_trans: failed to enlarge data buffer to %d\n",total_data));
+                       return False;
+               } else {
+                       *data = tdata;
+               }
        }
-       else
-               *data = tdata;
-       tparam = Realloc(*param,total_param);
-       if (!tparam) {
-               DEBUG(0,("cli_receive_nt_trans: failed to enlarge buffer"));
-               return False;
+
+       if (total_param) {
+               tparam = Realloc(*param,total_param);
+               if (!tparam) {
+                       DEBUG(0,("cli_receive_nt_trans: failed to enlarge param buffer to %d\n", total_param));
+                       return False;
+               } else {
+                       *param = tparam;
+               }
        }
-       else
-               *param = tparam;
 
        while (1)  {
                this_data = SVAL(cli->inbuf,smb_ntr_DataCount);