Small tweak to bugfix for 7698 - Assert causes smbd to panic on invalid NetBIOS sessi...
authorJeremy Allison <jra@samba.org>
Tue, 28 Sep 2010 01:21:46 +0000 (18:21 -0700)
committerJeremy Allison <jra@samba.org>
Tue, 28 Sep 2010 01:24:53 +0000 (18:24 -0700)
Don't just fail to reply on a bad NBT name, just don't do the
internal action.

Jeremy.

source3/smbd/reply.c

index abff317d5234f4f7ee60f692255dfa201059c74d..f8c016b7f91a683ce9bc6618b64e53b28066ccb2 100644 (file)
@@ -522,12 +522,12 @@ void reply_special(struct smbd_server_connection *sconn, char *inbuf, size_t inb
                name_len1 = name_len((unsigned char *)(inbuf+4),inbuf_size - 4);
                if (name_len1 <= 0 || name_len1 > inbuf_size - 4) {
                        DEBUG(0,("Invalid name length in session request\n"));
-                       return;
+                       break;
                }
                name_len2 = name_len((unsigned char *)(inbuf+4+name_len1),inbuf_size - 4 - name_len1);
                if (name_len2 <= 0 || name_len2 > inbuf_size - 4 - name_len1) {
                        DEBUG(0,("Invalid name length in session request\n"));
-                       return;
+                       break;
                }
 
                name_type1 = name_extract((unsigned char *)inbuf,
@@ -537,7 +537,7 @@ void reply_special(struct smbd_server_connection *sconn, char *inbuf, size_t inb
 
                if (name_type1 == -1 || name_type2 == -1) {
                        DEBUG(0,("Invalid name type in session request\n"));
-                       return;
+                       break;
                }
 
                DEBUG(2,("netbios connect: name1=%s0x%x name2=%s0x%x\n",