Author: vlendec
Date: 2006-04-01 19:17:07 +0000 (Sat, 01 Apr 2006)
New Revision: 14853

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=14853

Log:
When going through ipc, trans2 and nttrans I had started from the 3_0
ipc.c. Fix the bug in the 3 new implementations that Jeremy just fixed in
3_0/smbd/ipc.c.

Thanks again to G?\195?\188nther Kukkukk !

Volker

Modified:
   trunk/source/smbd/ipc.c
   trunk/source/smbd/nttrans.c
   trunk/source/smbd/trans2.c


Changeset:
Modified: trunk/source/smbd/ipc.c
===================================================================
--- trunk/source/smbd/ipc.c     2006-04-01 18:41:07 UTC (rev 14852)
+++ trunk/source/smbd/ipc.c     2006-04-01 19:17:07 UTC (rev 14853)
@@ -638,7 +638,7 @@
                        goto bad_param;
                if (pdisp > state->total_param)
                        goto bad_param;
-               if ((smb_base(inbuf) + poff + pcnt >= inbuf + size) ||
+               if ((smb_base(inbuf) + poff + pcnt > inbuf + size) ||
                    (smb_base(inbuf) + poff + pcnt < smb_base(inbuf)))
                        goto bad_param;
                if (state->param + pdisp < state->param)
@@ -655,7 +655,7 @@
                        goto bad_param;
                if (ddisp > state->total_data)
                        goto bad_param;
-               if ((smb_base(inbuf) + doff + dcnt >= inbuf + size) ||
+               if ((smb_base(inbuf) + doff + dcnt > inbuf + size) ||
                    (smb_base(inbuf) + doff + dcnt < smb_base(inbuf)))
                        goto bad_param;
                if (state->data + ddisp < state->data)

Modified: trunk/source/smbd/nttrans.c
===================================================================
--- trunk/source/smbd/nttrans.c 2006-04-01 18:41:07 UTC (rev 14852)
+++ trunk/source/smbd/nttrans.c 2006-04-01 19:17:07 UTC (rev 14853)
@@ -3029,7 +3029,7 @@
                        goto bad_param;
                if (pdisp > state->total_param)
                        goto bad_param;
-               if ((smb_base(inbuf) + poff + pcnt >= inbuf + size) ||
+               if ((smb_base(inbuf) + poff + pcnt > inbuf + size) ||
                    (smb_base(inbuf) + poff + pcnt < smb_base(inbuf)))
                        goto bad_param;
                if (state->param + pdisp < state->param)
@@ -3046,7 +3046,7 @@
                        goto bad_param;
                if (ddisp > state->total_data)
                        goto bad_param;
-               if ((smb_base(inbuf) + doff + dcnt >= inbuf + size) ||
+               if ((smb_base(inbuf) + doff + dcnt > inbuf + size) ||
                    (smb_base(inbuf) + doff + dcnt < smb_base(inbuf)))
                        goto bad_param;
                if (state->data + ddisp < state->data)

Modified: trunk/source/smbd/trans2.c
===================================================================
--- trunk/source/smbd/trans2.c  2006-04-01 18:41:07 UTC (rev 14852)
+++ trunk/source/smbd/trans2.c  2006-04-01 19:17:07 UTC (rev 14853)
@@ -5332,7 +5332,7 @@
                        goto bad_param;
                if (pdisp > state->total_param)
                        goto bad_param;
-               if ((smb_base(inbuf) + poff + pcnt >= inbuf + size) ||
+               if ((smb_base(inbuf) + poff + pcnt > inbuf + size) ||
                    (smb_base(inbuf) + poff + pcnt < smb_base(inbuf)))
                        goto bad_param;
                if (state->param + pdisp < state->param)
@@ -5349,7 +5349,7 @@
                        goto bad_param;
                if (ddisp > state->total_data)
                        goto bad_param;
-               if ((smb_base(inbuf) + doff + dcnt >= inbuf + size) ||
+               if ((smb_base(inbuf) + doff + dcnt > inbuf + size) ||
                    (smb_base(inbuf) + doff + dcnt < smb_base(inbuf)))
                        goto bad_param;
                if (state->data + ddisp < state->data)

Reply via email to