This is an automated email from the ASF dual-hosted git repository.
cmcfarlen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/master by this push:
new c63e1685bf asan: regression test assume null terminated strings
(#12582)
c63e1685bf is described below
commit c63e1685bfbb01f1d817d0b7d4717c5f12de6112
Author: Chris McFarlen <[email protected]>
AuthorDate: Tue Oct 21 18:33:38 2025 -0400
asan: regression test assume null terminated strings (#12582)
---
src/api/InkAPITest.cc | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/src/api/InkAPITest.cc b/src/api/InkAPITest.cc
index 521474bedd..df2fc554f8 100644
--- a/src/api/InkAPITest.cc
+++ b/src/api/InkAPITest.cc
@@ -5236,6 +5236,14 @@ REGRESSION_TEST(SDK_API_TSMimeHdrField)(RegressionTest
*test, int /* atype ATS_U
field1Value4Get = TSMimeHdrFieldValueStringGet(bufp1, mime_loc1,
field_loc11, 3, &lengthField1Value4);
field1Value5Get = TSMimeHdrFieldValueStringGet(bufp1, mime_loc1,
field_loc11, 4, &lengthField1Value5);
field1ValueAllGet = TSMimeHdrFieldValueStringGet(bufp1, mime_loc1,
field_loc11, -1, &lengthField1ValueAll);
+
+ std::string_view sv1{field1Value1Get,
static_cast<size_t>(lengthField1Value1)};
+ std::string_view sv2{field1Value2Get,
static_cast<size_t>(lengthField1Value2)};
+ std::string_view sv3{field1Value3Get,
static_cast<size_t>(lengthField1Value3)};
+ std::string_view sv4{field1Value4Get,
static_cast<size_t>(lengthField1Value4)};
+ std::string_view sv5{field1Value5Get,
static_cast<size_t>(lengthField1Value5)};
+ std::string_view svall{field1ValueAllGet,
static_cast<size_t>(lengthField1ValueAll)};
+
if (((strncmp(field1Value1Get, field1Value1, lengthField1Value1) == 0) &&
lengthField1Value1 == static_cast<int>(strlen(field1Value1))) &&
((strncmp(field1Value2Get, field1Value2, lengthField1Value2) == 0) &&
@@ -5246,11 +5254,8 @@ REGRESSION_TEST(SDK_API_TSMimeHdrField)(RegressionTest
*test, int /* atype ATS_U
lengthField1Value4 == static_cast<int>(strlen(field1Value4))) &&
((strncmp(field1Value5Get, field1Value5, lengthField1Value5) == 0) &&
lengthField1Value5 == static_cast<int>(strlen(field1Value5))) &&
- (strstr(field1ValueAllGet, field1Value1Get) == field1Value1Get) &&
- (strstr(field1ValueAllGet, field1Value2Get) == field1Value2Get) &&
- (strstr(field1ValueAllGet, field1Value3Get) == field1Value3Get) &&
- (strstr(field1ValueAllGet, field1Value4Get) == field1Value4Get) &&
- (strstr(field1ValueAllGet, field1Value5Get) == field1Value5Get)) {
+ (svall.find(sv1) != svall.npos) && (svall.find(sv2) != svall.npos)
&& (svall.find(sv3) != svall.npos) &&
+ (svall.find(sv4) != svall.npos) && (svall.find(sv5) != svall.npos)) {
SDK_RPRINT(test, "TSMimeHdrFieldValueStringInsert",
"TestCase1&2&3&4&5", TC_PASS, "ok");
SDK_RPRINT(test, "TSMimeHdrFieldValueStringGet", "TestCase1&2&3&4&5",
TC_PASS, "ok");
SDK_RPRINT(test, "TSMimeHdrFieldValueStringGet with IDX=-1",
"TestCase1&2&3&4&5", TC_PASS, "ok");