]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
smb: improve integer handling
authorVictor Julien <victor@inliniac.net>
Fri, 6 May 2016 13:00:10 +0000 (15:00 +0200)
committerVictor Julien <victor@inliniac.net>
Mon, 9 May 2016 18:31:35 +0000 (20:31 +0200)
src/app-layer-smb.c

index 11c8539e8e3f109149d158c258b77013d9504aad..22a9439e0918ae564a7d0fb426f45d6367fdfb93 100644 (file)
@@ -946,10 +946,10 @@ static int SMBParseHeader(Flow *f, void *smb_state,
                         SCReturnInt(-1);
                     }
                     sstate->smb.command = *(p + 4);
-                    sstate->smb.status = *(p + 5) << 24;
-                    sstate->smb.status |= *(p + 6) << 16;
-                    sstate->smb.status |= *(p + 7) << 8;
-                    sstate->smb.status |= *(p + 8);
+                    sstate->smb.status = (uint32_t) *(p + 5) << 24;
+                    sstate->smb.status |= (uint32_t) *(p + 6) << 16;
+                    sstate->smb.status |= (uint32_t) *(p + 7) << 8;
+                    sstate->smb.status |= (uint32_t) *(p + 8);
                     sstate->smb.flags = *(p + 9);
                     sstate->smb.flags2 = *(p + 10) << 8;
                     sstate->smb.flags2 |= *(p + 11);