Skip to content

Commit c63e168

Browse files
authored
asan: regression test assume null terminated strings (#12582)
1 parent 56ec03c commit c63e168

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

src/api/InkAPITest.cc

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5236,6 +5236,14 @@ REGRESSION_TEST(SDK_API_TSMimeHdrField)(RegressionTest *test, int /* atype ATS_U
52365236
field1Value4Get = TSMimeHdrFieldValueStringGet(bufp1, mime_loc1, field_loc11, 3, &lengthField1Value4);
52375237
field1Value5Get = TSMimeHdrFieldValueStringGet(bufp1, mime_loc1, field_loc11, 4, &lengthField1Value5);
52385238
field1ValueAllGet = TSMimeHdrFieldValueStringGet(bufp1, mime_loc1, field_loc11, -1, &lengthField1ValueAll);
5239+
5240+
std::string_view sv1{field1Value1Get, static_cast<size_t>(lengthField1Value1)};
5241+
std::string_view sv2{field1Value2Get, static_cast<size_t>(lengthField1Value2)};
5242+
std::string_view sv3{field1Value3Get, static_cast<size_t>(lengthField1Value3)};
5243+
std::string_view sv4{field1Value4Get, static_cast<size_t>(lengthField1Value4)};
5244+
std::string_view sv5{field1Value5Get, static_cast<size_t>(lengthField1Value5)};
5245+
std::string_view svall{field1ValueAllGet, static_cast<size_t>(lengthField1ValueAll)};
5246+
52395247
if (((strncmp(field1Value1Get, field1Value1, lengthField1Value1) == 0) &&
52405248
lengthField1Value1 == static_cast<int>(strlen(field1Value1))) &&
52415249
((strncmp(field1Value2Get, field1Value2, lengthField1Value2) == 0) &&
@@ -5246,11 +5254,8 @@ REGRESSION_TEST(SDK_API_TSMimeHdrField)(RegressionTest *test, int /* atype ATS_U
52465254
lengthField1Value4 == static_cast<int>(strlen(field1Value4))) &&
52475255
((strncmp(field1Value5Get, field1Value5, lengthField1Value5) == 0) &&
52485256
lengthField1Value5 == static_cast<int>(strlen(field1Value5))) &&
5249-
(strstr(field1ValueAllGet, field1Value1Get) == field1Value1Get) &&
5250-
(strstr(field1ValueAllGet, field1Value2Get) == field1Value2Get) &&
5251-
(strstr(field1ValueAllGet, field1Value3Get) == field1Value3Get) &&
5252-
(strstr(field1ValueAllGet, field1Value4Get) == field1Value4Get) &&
5253-
(strstr(field1ValueAllGet, field1Value5Get) == field1Value5Get)) {
5257+
(svall.find(sv1) != svall.npos) && (svall.find(sv2) != svall.npos) && (svall.find(sv3) != svall.npos) &&
5258+
(svall.find(sv4) != svall.npos) && (svall.find(sv5) != svall.npos)) {
52545259
SDK_RPRINT(test, "TSMimeHdrFieldValueStringInsert", "TestCase1&2&3&4&5", TC_PASS, "ok");
52555260
SDK_RPRINT(test, "TSMimeHdrFieldValueStringGet", "TestCase1&2&3&4&5", TC_PASS, "ok");
52565261
SDK_RPRINT(test, "TSMimeHdrFieldValueStringGet with IDX=-1", "TestCase1&2&3&4&5", TC_PASS, "ok");

0 commit comments

Comments
 (0)