r8003: ensure that we don't try to send a trans request with more than 64k data or...
authorAndrew Tridgell <tridge@samba.org>
Thu, 30 Jun 2005 01:34:53 +0000 (01:34 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:18:57 +0000 (13:18 -0500)
source/libcli/raw/rawtrans.c

index 118ac5e3fdf90743d98ab7a81e3d2a6216a725c3..b523232bc0598459bbeff42169533b6915e90a7e 100644 (file)
@@ -216,6 +216,14 @@ struct smbcli_request *smb_raw_trans_send_backend(struct smbcli_tree *tree,
        size_t namelen = 0;
        uint16_t data_disp, data_length, max_data;
 
+       if (parms->in.params.length > UINT16_MAX ||
+           parms->in.data.length > UINT16_MAX) {
+               DEBUG(3,("Attempt to send invalid trans2 request (params %u, data %u)\n",
+                        parms->in.params.length, parms->in.data.length));
+               return NULL;
+       }
+           
+
        if (command == SMBtrans)
                padding = 1;
        else