<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: "IntelOne Text"; font-size: 10pt; color: rgb(0, 0, 0);" class="elementToProof">
Acked-by: Kai Ji <kai.ji@intel.com></div>
<div style="font-family: "IntelOne Text"; font-size: 10pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Shani Peretz <shperetz@nvidia.com><br>
<b>Sent:</b> 05 August 2025 07:38<br>
<b>To:</b> dev@dpdk.org <dev@dpdk.org><br>
<b>Cc:</b> suanmingm@nvidia.com <suanmingm@nvidia.com>; Shani Peretz <shperetz@nvidia.com>; stable@dpdk.org <stable@dpdk.org>; Ji, Kai <kai.ji@intel.com>; Kobylinski, Michal <michal.kobylinski@intel.com>; Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>;
Marcin Kerlin <marcinx.kerlin@intel.com>; Piotr Azarewicz <piotr.azarewicz@intel.com>; Doherty, Declan <declan.doherty@intel.com><br>
<b>Subject:</b> [PATCH] app/crypto-perf: fix plaintext size exceeds buffer size</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">When test vector plaintext exceeds buffer size, only the first<br>
max_buffer_size bytes are processed, causing incorrect digest<br>
verification (computed vs expected mismatch).<br>
<br>
This patch fixes this issue by checking that the plaintext size is<br>
larger than the buffer size and returns an error with a log.<br>
<br>
Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application")<br>
Cc: stable@dpdk.org<br>
<br>
Signed-off-by: Shani Peretz <shperetz@nvidia.com><br>
---<br>
app/test-crypto-perf/cperf_test_vector_parsing.c | 6 ++++++<br>
1 file changed, 6 insertions(+)<br>
<br>
diff --git a/app/test-crypto-perf/cperf_test_vector_parsing.c b/app/test-crypto-perf/cperf_test_vector_parsing.c<br>
index 737d61d4af..04ca9cf019 100644<br>
--- a/app/test-crypto-perf/cperf_test_vector_parsing.c<br>
+++ b/app/test-crypto-perf/cperf_test_vector_parsing.c<br>
@@ -308,6 +308,12 @@ parse_entry(char *entry, struct cperf_test_vector *vector,<br>
if (strstr(key_token, "plaintext")) {<br>
rte_free(vector->plaintext.data);<br>
vector->plaintext.data = data;<br>
+<br>
+ if (opts->test == CPERF_TEST_TYPE_VERIFY && data_length > opts->max_buffer_size) {<br>
+ printf("Global plaintext larger than buffer_sz\n");<br>
+ return -1;<br>
+ }<br>
+<br>
if (tc_found)<br>
vector->plaintext.length = data_length;<br>
else {<br>
-- <br>
2.34.1<br>
<br>
</div>
</span></font></div>
</body>
</html>