<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:12.0pt;
font-family:"Calibri",sans-serif;
mso-ligatures:standardcontextual;
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
--></style>
</head>
<body lang="EN-IN" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Hi Team,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">While running Fortify static code analysis on our codebase, which uses DPDK, we noticed some potential buffer overflow issues being flagged in DPDK library calls. These seem like false positives at first glance, but we want to double-check
with the community and maintainers to make sure there are no hidden issues.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Could you please review these findings or let us know if there are any known false positives related to this. I raised a Bug <a href="https://bugs.dpdk.org/show_bug.cgi?id=1748">https://bugs.dpdk.org/show_bug.cgi?id=1748</a> for the same.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">here are the detailed Fortify reports with exact file paths and line numbers for your reference.<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><b>### Instance 1: rte_crypto.h Line 207<o:p></o:p></b></p>
<p class="MsoNormal">memset(op->asym, 0, sizeof(struct rte_crypto_asym_op));<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Tool Description : The function __rte_crypto_op_reset() in rte_crypto.h writes outside the bounds of asym on line 207, which could corrupt data, cause the program to crash, or lead to the execution of malicious code.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Analysis Trace<o:p></o:p></p>
<p class="MsoNormal">rte_crypto.h:181 - Buffer asym Declared<o:p></o:p></p>
<p class="MsoNormal">rte_crypto.h:207 - memset()<o:p></o:p></p>
<p class="MsoNormal">Buffer Size: 0 bytes Write Length: 168 bytes<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b>### Instance 2: rte_crypto_sym.h: 885<o:p></o:p></b></p>
<p class="MsoNormal">memset(op, 0, sizeof(*op));<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Tool Description: The program writes outside the bounds of allocated memory, which could corrupt data, crash the program, or lead to the execution of malicious code.<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Analysis Trace<o:p></o:p></p>
<p class="MsoNormal">rte_crypto.h:204 - Caller: __rte_crypto_op_reset<o:p></o:p></p>
<p class="MsoNormal">Buffer Size: 0<o:p></o:p></p>
<p class="MsoNormal">rte_crypto_sym.h:885 - memset()<o:p></o:p></p>
<p class="MsoNormal">Buffer Size: 0 bytes Write Length: 64 bytes [var 0] op.$offset: 0<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b>### Instance3: rte_lpm.h: 347<o:p></o:p></b></p>
<p class="MsoNormal"> tbl24_indexes[i] = ips[i] >> 8;<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Tool Description: The function rte_lpm_lookup_bulk_func() in rte_lpm.h writes outside the bounds of tbl24_indexes on line 347, which could corrupt data, cause the program to crash, or lead to the execution of malicious code.<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Analysis Trace<o:p></o:p></p>
<p class="MsoNormal">rte_lpm.h:339 - Buffer tbl24_indexes Allocated<o:p></o:p></p>
<p class="MsoNormal">rte_lpm.h:347 - Assignment to tbl24_indexes<o:p></o:p></p>
<p class="MsoNormal">Buffer Size: 262143 bytes Write Length: 1048572 bytes [var 0] tbl24_indexes.$offset: 0 [var 1] i: 262142<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Thank you in advance for your support and guidance.<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Regards,<br>
Nagendra<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<br>
<p style="font-family:Calibri;font-size:10pt;color:#000000;margin:5pt;font-style:normal;font-weight:normal;text-decoration:none;" align="Left">
Confidential – Oracle Internal<br>
</p>
</body>
</html>