Home | History | Annotate | Download | only in tests

Lines Matching refs:str

19 // Input to a test is a zero-terminated string str with given length
20 // Accesses to the bytes to the left and to the right of str
22 void StrLenOOBTestTemplate(char *str, size_t length, bool is_global) {
24 EXPECT_EQ(strlen(str), length);
26 EXPECT_EQ(length - 1, strlen(str + 1));
27 EXPECT_EQ(0U, strlen(str + length));
32 EXPECT_DEATH(Ident(strlen(str - 1)), LeftOOBReadMessage(1));
33 EXPECT_DEATH(Ident(strlen(str - 5)), LeftOOBReadMessage(5));
35 EXPECT_DEATH(Ident(strlen(str + length + 1)), RightOOBReadMessage(0));
37 str[length] = 'a';
39 EXPECT_DEATH(Ident(strlen(str)), RightOOBReadMessage(0));
40 EXPECT_DEATH(Ident(strlen(str + length)), RightOOBReadMessage(0));
42 str[length] = 0;
67 char *str = MallocAndMemsetString(size);
69 Ident(strnlen(str - 1, 0));
70 Ident(strnlen(str, size));
71 Ident(strnlen(str + size - 1, 1));
72 str[size - 1] = '\0';
73 Ident(strnlen(str, 2 * size));
75 EXPECT_DEATH(Ident(strnlen(str - 1, 1)), LeftOOBReadMessage(1));
76 EXPECT_DEATH(Ident(strnlen(str + size, 1)), RightOOBReadMessage(0));
78 str[size - 1] = 'z';
79 EXPECT_DEATH(Ident(strnlen(str, size + 1)), RightOOBReadMessage(0));
80 free(str);
86 char *str = MallocAndMemsetString(size);
89 str[size - 1] = '\0';
90 new_str = strdup(str);
92 new_str = strdup(str + size - 1);
95 EXPECT_DEATH(Ident(strdup(str - 1)), LeftOOBReadMessage(1));
96 EXPECT_DEATH(Ident(strdup(str + size)), RightOOBReadMessage(0));
98 str[size - 1] = 'z';
99 EXPECT_DEATH(Ident(strdup(str)), RightOOBReadMessage(0));
100 free(str);
175 char *str = MallocAndMemsetString(size);
176 str[10] = 'q';
177 str[11] = '\0';
178 EXPECT_EQ(str, StrChr(str, 'z'));
179 EXPECT_EQ(str + 10, StrChr(str, 'q'));
180 EXPECT_EQ(NULL, StrChr(str, 'a'));
182 EXPECT_DEATH(Ident(StrChr(str - 1, 'z')), LeftOOBReadMessage(1));
183 EXPECT_DEATH(Ident(StrChr(str + size, 'z')), RightOOBReadMessage(0));
185 str[11] = 'z';
186 EXPECT_DEATH(Ident(StrChr(str, 'a')), RightOOBReadMessage(0));
187 free(str);
191 char *str = MallocAndMemsetString(size);
192 str[10] = 'q';
193 str[11] = '\0';
194 EXPECT_EQ(str, StrChr(str, 'z'));
195 EXPECT_EQ(str + 10, StrChr(str, 'q'));
196 EXPECT_EQ(NULL, StrChr(str, 'a'));
198 EXPECT_DEATH(Ident(StrChr(str - 1, 'z')), LeftOOBReadMessage(1));
199 EXPECT_DEATH(Ident(StrChr(str + size, 'z')), RightOOBReadMessage(0));
201 str[11] = 'z';
202 EXPECT_DEATH(Ident(StrChr(str, 'a')), RightOOBReadMessage(0));
203 free(str);
413 char *str = Ident((char*)malloc(size));
420 memset(str, 'z', size);
421 Ident(memcpy)(str + 1, str + 11, 10);
422 Ident(memcpy)(str, str, 0);
423 EXPECT_DEATH(Ident(memcpy)(str, str + 14, 15), OverlapErrorMessage("memcpy"));
424 EXPECT_DEATH(Ident(memcpy)(str + 14, str, 15), OverlapErrorMessage("memcpy"));
429 // EXPECT_DEATH(Ident(memcpy)(str + 20, str + 20, 1),
433 memset(str, 'z', size);
434 str[9] = '\0';
435 strcpy(str + 10, str);
436 EXPECT_DEATH(strcpy(str + 9, str), OverlapErrorMessage("strcpy"));
437 EXPECT_DEATH(strcpy(str, str + 4), OverlapErrorMessage("strcpy"));
438 strcpy(str, str + 5);
441 memset(str, 'z', size);
442 strncpy(str, str + 10, 10);
443 EXPECT_DEATH(strncpy(str, str + 9, 10), OverlapErrorMessage("strncpy"));
444 EXPECT_DEATH(strncpy(str + 9, str, 10), OverlapErrorMessage("strncpy"));
445 str[10] = '\0';
446 strncpy(str + 11, str
447 EXPECT_DEATH(strncpy(str + 10, str, 20), OverlapErrorMessage("strncpy"));
450 memset(str, 'z', size);
451 str[10] = '\0';
452 str[20] = '\0';
453 strcat(str, str + 10);
454 EXPECT_DEATH(strcat(str, str + 11), OverlapErrorMessage("strcat"));
455 str[10] = '\0';
456 strcat(str + 11, str);
457 EXPECT_DEATH(strcat(str, str + 9), OverlapErrorMessage("strcat"));
458 EXPECT_DEATH(strcat(str + 9, str), OverlapErrorMessage("strcat"));
459 EXPECT_DEATH(strcat(str + 10, str), OverlapErrorMessage("strcat"));
462 memset(str, 'z', size);
463 str[10] = '\0';
464 strncat(str, str + 10, 10); // from is empty
465 EXPECT_DEATH(strncat(str, str + 11, 10), OverlapErrorMessage("strncat"));
466 str[10] = '\0';
467 str[20] = '\0';
468 strncat(str + 5, str, 5);
469 str[10] = '\0';
470 EXPECT_DEATH(strncat(str + 5, str, 6), OverlapErrorMessage("strncat"));
471 EXPECT_DEATH(strncat(str, str + 9, 10), OverlapErrorMessage("strncat"));
473 free(str);