This is an automated email from the ASF dual-hosted git repository.

cmcfarlen pushed a commit to branch 10.1.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/10.1.x by this push:
     new 2d78fd816f asan: regression test assume null terminated strings 
(#12582)
2d78fd816f is described below

commit 2d78fd816f60f60c1c781d944d043544e5b19a14
Author: Chris McFarlen <[email protected]>
AuthorDate: Tue Oct 21 18:33:38 2025 -0400

    asan: regression test assume null terminated strings (#12582)
    
    (cherry picked from commit c63e1685bfbb01f1d817d0b7d4717c5f12de6112)
---
 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 b0467e71bc..aef0a04005 100644
--- a/src/api/InkAPITest.cc
+++ b/src/api/InkAPITest.cc
@@ -5206,6 +5206,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) &&
@@ -5216,11 +5224,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");

Reply via email to