<div dir="ltr"><span style="font-size:12.8px">Hi there,</span><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">When running Coverity's static analysis tools against snort 2.9.8, it detected the following BUFFER_SIZE issue on line 962 of the file encode.c in the function UDP_Encode.</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Line 991 and 992 are:</div><div style="font-size:12.8px">next = NextEncoder(enc);</div><div style="font-size:12.8px">err = encoders[next].fencode(enc, in, out);</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">There is a possibility that the assignment of next could be value 22 (or PROTO_MAX) which is the last element of the enum. Line 992 indexes into the encoders array at the position specified in "next" which is one past the end of the array. To prevent this possible buffer overrun, a fix is to wrap line 992 in an if/else statement like below:</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><p style="text-indent:0in"><span style="font-size:10pt;line-height:20px;font-family:'Courier New'">if (next < PROTO_MAX)</span></p><p style="text-indent:0in"><span style="font-size:10pt;line-height:20px;font-family:'Courier New'">{</span></p><p style="text-indent:0in"><span style="font-size:10pt;line-height:20px;font-family:'Courier New'">    err = encoders[next].fencode(enc, in, out);</span></p><p style="text-indent:0in"><span style="font-size:10pt;line-height:20px;font-family:'Courier New'">}</span></p><p style="text-indent:0in"><span style="font-size:10pt;line-height:20px;font-family:'Courier New'">else</span></p><p style="text-indent:0in"><span style="font-size:10pt;line-height:20px;font-family:'Courier New'">{</span></p><p style="text-indent:0in"><span style="font-size:10pt;line-height:20px;font-family:'Courier New'">    err = ENC_BAD_PROTO;</span></p><p style="text-indent:0in"><span style="font-size:10pt;line-height:20px;font-family:'Courier New'">}</span></p></div><div style="font-size:12.8px">This fix did clear the Coverity warning however someone more familiar with the code might have a better fix.</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">I have attached a picture of the code flow from Coverity for your reference.</div><div style="font-size:12.8px">Thanks,</div><div style="font-size:12.8px">Jeff</div></div>