<div dir="ltr">Hi All,<br><br>   Found a pair of minor boo-boo's in Snort-2.9.7.0 (alpha) in<br>the area of missing sanity checks for malloc() and calloc().<br><br>In "src/dynamic-preprocessors/appid" file 'fw_appid.c' in which <br>
'malloc()' is referenced without a corresponding check for NULL,<br>indicating failure.  The patch file below (attached to this email<br>adds the necessary check:<br><br>--- fw_appid.c.orig     2014-03-09 17:02:32.881416925 -0700<br>
+++ fw_appid.c  2014-03-09 17:12:13.843254187 -0700<br>@@ -757,6 +757,10 @@<br>             if (headers->url.start)<br>             {<br>                 session->url = malloc(sizeof("http://") + headers->host.len + headers->url.len);<br>
+               if (session->url == NULL) { /* oops, malloc() failed */<br>+                   _dpd.errMsg("Failed to allocate session->url memory.");<br>+                   return;<br>+               }<br>
                 strcpy(session->url, "http://");<br>                 strncat(session->url, (char *)headers->host.start, headers->host.len);<br>                 strncat(session->url, (char *)headers->url.start, headers->url.len);<br>
<br>I also found a missing sanity check for calloc() in<br>"src/dynamic-preprocessors/appid/util" file 'sfxhash.c',<br>the necessary check for the return value for calloc() is in the<br>patch file listed below:<br>
<br>diff -u sfxhash.c.orig sfxhash.c<br>--- sfxhash.c.orig      2014-03-09 17:46:37.170492469 -0700<br>+++ sfxhash.c   2014-03-09 17:47:58.657849093 -0700<br>@@ -1436,6 +1436,11 @@<br>         num = atoi(argv[1]);<br>     }<br>
     strkey = strarray = calloc(num, 20);<br>+    if (strarray == NULL)<br>+    {<br>+       printf("Unable to allocate memory...exiting!\n");<br>+       exit(0);<br>+    }<br> <br>     if( argc > 2 )<br>     {<br>
     <br>     <br>A 'make' of snort-2.9.7.0-alpha results in a clean compile of<br>the above patch files.<br><br>I am attaching the patch files to this email.<br>                 <br>Bill Parker (wp02855 at gmail dot com)<br>
<br>m000000000000000!<br><br></div>