<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" id="owaParaStyle"></style>
</head>
<body fpstyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">Thanks Bill.<br>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div id="divRpF77476" style="direction: ltr;"><font face="Tahoma" size="2" color="#000000"><b>From:</b> Bill Parker [wp02855@...2499...]<br>
<b>Sent:</b> Friday, December 12, 2014 4:56 PM<br>
<b>To:</b> snort-devel@lists.sourceforge.net<br>
<b>Subject:</b> [Snort-devel] Missing Sanity Check for fseek() in Snort-3.0.0-a1<br>
</font><br>
</div>
<div></div>
<div>
<div dir="ltr">Hello All,<br>
<br>
   In reviewing code in 'perf_base.cc' in directory '/src/network_inspectors/perf_monitor'<br>
for snort-3.0.0-a1, I found a call to fseek() which lacked a <br>
test for a return value < 0, indicating failure.  The patch file<br>
below adds the needed check and prints a warning message :)<br>
<br>
--- perf_base.cc.orig   2014-12-12 13:47:19.386492263 -0800<br>
+++ perf_base.cc        2014-12-12 13:49:51.404813010 -0800<br>
@@ -1408,7 +1408,8 @@<br>
         WarningMessage("Failed to write stats: %s\n", strerror(errno));<br>
 <br>
         // fseek to adjust offset; ftruncate doesn't do that for us.<br>
-        fseek(fh, start, SEEK_SET);<br>
+        if (fseek(fh, start, SEEK_SET) < 0) // fseek() failed for some reason<br>
+           WarningMessage("Failed to seek stats: %s\n", strerror(errno));<br>
         <br>
         if ( ftruncate(fileno(fh), start) )<br>
             WarningMessage("Failed to truncate stats: %s\n", strerror(errno));<br>
             <br>
I am attaching the patch file to this email.<br>
<br>
Bill Parker (wp02855 at gmail dot com)<br>
</div>
</div>
</div>
</div>
</body>
</html>