Lines Matching full:warning
42 clang_analyzer_eval(strlen("123") == 3); // expected-warning{{TRUE}}
47 clang_analyzer_eval(strlen(a) == 3); // expected-warning{{TRUE}}
52 clang_analyzer_eval(strlen(a) == 3); // expected-warning{{TRUE}}
55 clang_analyzer_eval(strlen(a) == 3); // expected-warning{{UNKNOWN}}
59 return strlen(0); // expected-warning{{Null pointer argument in call to string length function}}
63 return strlen((char*)&strlen_fn); // expected-warning{{Argument to string length function is the address of the function 'strlen_fn', which is not a null-terminated string}}
68 return strlen((char*)&&label); // expected-warning{{Argument to string length function is the address of the label 'label', which is not a null-terminated string}}
82 clang_analyzer_eval(b == 0); // expected-warning{{TRUE}}
88 clang_analyzer_eval(c == 0); // expected-warning{{UNKNOWN}}
96 clang_analyzer_eval(b == 0); // expected-warning{{TRUE}}
102 clang_analyzer_eval(c == 0); // expected-warning{{UNKNOWN}}
110 clang_analyzer_eval(b == 0); // expected-warning{{TRUE}}
112 clang_analyzer_eval(strlen(global_str) == 0); // expected-warning{{TRUE}}
120 clang_analyzer_eval(c == 0); // expected-warning{{UNKNOWN}}
129 clang_analyzer_eval(b == 0); // expected-warning{{TRUE}}
136 clang_analyzer_eval(c == 0); // expected-warning{{UNKNOWN}}
148 clang_analyzer_eval(c == 0); // expected-warning{{UNKNOWN}}
154 clang_analyzer_eval(strlen(x) < 5); // expected-warning{{FALSE}}
164 clang_analyzer_eval(strnlen("123", 10) == 3); // expected-warning{{TRUE}}
169 clang_analyzer_eval(strnlen(a, 10) == 3); // expected-warning{{TRUE}}
174 clang_analyzer_eval(strnlen(a, 10) == 3); // expected-warning{{TRUE}}
176 clang_analyzer_eval(strnlen(a, 10) == 3); // expected-warning{{UNKNOWN}}
180 clang_analyzer_eval(strnlen("123456", 3) == 3); // expected-warning{{TRUE}}
185 clang_analyzer_eval(strnlen(a, 3) == 3); // expected-warning{{TRUE}}
190 clang_analyzer_eval(strnlen(a, 3) == 3); // expected-warning{{TRUE}}
192 clang_analyzer_eval(strnlen(a, 3) == 3); // expected-warning{{UNKNOWN}}
196 return strnlen(0, 3); // expected-warning{{Null pointer argument in call to string length function}}
200 return strnlen((char*)&strlen_fn, 3); // expected-warning{{Argument to string length function is the address of the function 'strlen_fn', which is not a null-terminated string}}
205 return strnlen((char*)&&label, 3); // expected-warning{{Argument to string length function is the address of the label 'label', which is not a null-terminated string}}
209 clang_analyzer_eval(strnlen("abc", 0) == 0); // expected-warning{{TRUE}}
210 clang_analyzer_eval(strnlen(NULL, 0) == 0); // expected-warning{{TRUE}}
225 clang_analyzer_eval(strnlen(x, 10) == strlen(x)); // expected-warning{{UNKNOWN}}
230 clang_analyzer_eval(len <= 10); // expected-warning{{TRUE}}
231 clang_analyzer_eval(len == 10); // expected-warning{{UNKNOWN}}
232 clang_analyzer_eval(len < 10); // expected-warning{{UNKNOWN}}
237 clang_analyzer_eval(len <= 3); // expected-warning{{TRUE}}
240 clang_analyzer_eval(len == 0); // expected-warning{{TRUE}}
242 clang_analyzer_eval(len == 3); // expected-warning{{UNKNOWN}}
243 clang_analyzer_eval(len < 3); // expected-warning{{UNKNOWN}}
267 strcpy(NULL, x); // expected-warning{{Null pointer argument in call to string copy function}}
271 strcpy(x, NULL); // expected-warning{{Null pointer argument in call to string copy function}}
275 strcpy(x, (char*)&strcpy_fn); // expected-warning{{Argument to string copy function is the address of the function 'strcpy_fn', which is not a null-terminated string}}
279 strcpy(x, (const char*)&strcpy_fn); // expected-warning{{Argument to string copy function is the address of the function 'strcpy_fn', which is not a null-terminated string}}
288 clang_analyzer_eval(strcpy(x, y) == x); // expected-warning{{TRUE}}
289 clang_analyzer_eval(strlen(x) == strlen(y)); // expected-warning{{TRUE}}
290 clang_analyzer_eval(a == x[0]); // expected-warning{{UNKNOWN}}
291 clang_analyzer_eval(globalInt == 42); // expected-warning{{TRUE}}
297 strcpy(x, y); // expected-warning{{String copy function overflows destination buffer}}
303 strcpy(x, y); // no-warning
328 clang_analyzer_eval(stpcpy(x, y) == &x[strlen(y)]); // expected-warning{{TRUE}}
329 clang_analyzer_eval(strlen(x) == strlen(y)); // expected-warning{{TRUE}}
330 clang_analyzer_eval(a == x[0]); // expected-warning{{UNKNOWN}}
336 stpcpy(x, y); // expected-warning{{String copy function overflows destination buffer}}
342 stpcpy(x, y); // no-warning
365 strcat(NULL, x); // expected-warning{{Null pointer argument in call to string copy function}}
369 strcat(x, NULL); // expected-warning{{Null pointer argument in call to string copy function}}
373 strcat(x, (char*)&strcat_fn); // expected-warning{{Argument to string copy function is the address of the function 'strcat_fn', which is not a null-terminated string}}
384 clang_analyzer_eval(strcat(x, y) == x); // expected-warning{{TRUE}}
385 clang_analyzer_eval((int)strlen(x) == (orig_len + strlen(y))); // expected-warning{{TRUE}}
391 strcat(x, y); // expected-warning{{String copy function overflows destination buffer}}
397 strcat(x, y); // expected-warning{{String copy function overflows destination buffer}}
403 strcat(x, y); // expected-warning{{String copy function overflows destination buffer}}
409 strcat(x, y); // no-warning
414 clang_analyzer_eval(strlen(dst) >= 4); // expected-warning{{TRUE}}
420 clang_analyzer_eval(strlen(dst) >= 4); // expected-warning{{TRUE}}
426 clang_analyzer_eval(strlen(dst) >= 4); // expected-warning{{TRUE}}
433 // We assume this can never actually happen, so we don't get a warning.
462 strncpy(NULL, x, 5); // expected-warning{{Null pointer argument in call to string copy function}}
466 strncpy(x, NULL, 5); // expected-warning{{Null pointer argument in call to string copy function}}
470 strncpy(x, (char*)&strcpy_fn, 5); // expected-warning{{Argument to string copy function is the address of the function 'strcpy_fn', which is not a null-terminated string}}
476 clang_analyzer_eval(strncpy(x, y, 5) == x); // expected-warning{{TRUE}}
477 clang_analyzer_eval(strlen(x) == strlen(y)); // expected-warning{{UNKNOWN}}
478 clang_analyzer_eval(a == x[0]); // expected-warning{{UNKNOWN}}
484 strncpy(x, y, 5); // expected-warning{{Size argument is greater than the length of the destination buffer}}
490 strncpy(x, y, 5); // expected-warning{{Size argument is greater than the length of the destination buffer}}
499 strncpy(x, y, n); // expected-warning{{Size argument is greater than the length of the destination buffer}}
505 strncpy(x, y, 3); // no-warning
511 strncpy(x, y, 3); // no-warning
516 strncpy(x, y, 4); // no-warning
520 clang_analyzer_eval(strlen(x) > 4); // expected-warning{{UNKNOWN}}
525 strncpy(dst, src, 0); // no-warning
531 strncpy(dst, src, 4); // no-warning
554 strncat(NULL, x, 4); // expected-warning{{Null pointer argument in call to string copy function}}
558 strncat(x, NULL, 4); // expected-warning{{Null pointer argument in call to string copy function}}
562 strncat(x, (char*)&strncat_fn, 4); // expected-warning{{Argument to string copy function is the address of the function 'strncat_fn', which is not a null-terminated string}}
573 clang_analyzer_eval(strncat(x, y, strlen(y)) == x); // expected-warning{{TRUE}}
574 clang_analyzer_eval(strlen(x) == (orig_len + strlen(y))); // expected-warning{{TRUE}}
580 strncat(x, y, strlen(y)); // expected-warning{{Size argument is greater than the free space in the destination buffer}}
586 strncat(x, y, strlen(y)); // expected-warning{{Size argument is greater than the free space in the destination buffer}}
592 strncat(x, y, strlen(y)); // expected-warning{{Size argument is greater than the free space in the destination buffer}}
598 strncat(x, y, 2); // expected-warning{{Size argument is greater than the free space in the destination buffer}}
603 strncat(x, y, strlen(y)); // no-warning
609 strncat(x, y, 1); // no-warning
614 clang_analyzer_eval(strlen(dst) >= 4); // expected-warning{{TRUE}}
620 clang_analyzer_eval(strlen(dst) >= 4); // expected-warning{{TRUE}}
623 strncat(dst2, src, 4); // expected-warning{{Size argument is greater than the free space in the destination buffer}}
629 clang_analyzer_eval(strlen(dst) >= 4); // expected-warning{{TRUE}}
632 strncat(dst2, &src[offset], 4); // expected-warning{{Size argument is greater than the free space in the destination buffer}}
641 strncat(dst, src, limit); // no-warning
643 clang_analyzer_eval(strlen(dst) >= 4); // expected-warning{{TRUE}}
644 clang_analyzer_eval(strlen(dst) == 4); // expected-warning{{UNKNOWN}}
650 strncat(dst, src, (size_t)limit); // no-warning
652 clang_analyzer_eval(strlen(dst) >= 4); // expected-warning{{TRUE}}
653 clang_analyzer_eval(strlen(dst) == 4); // expected-warning{{UNKNOWN}}
657 // We assume this will never actually happen, so we don't get a warning.
667 strncat(dst, src, 0); // no-warning
673 strncat(dst, src, 4); // no-warning
686 clang_analyzer_eval(strcmp(x, y) > 0); // expected-warning{{TRUE}}
687 clang_analyzer_eval(strcmp(x, y) <= 0); // expected-warning{{FALSE}}
688 clang_analyzer_eval(strcmp(x, y) > 1); // expected-warning{{UNKNOWN}}
690 clang_analyzer_eval(strcmp(y, x) < 0); // expected-warning{{TRUE}}
691 clang_analyzer_eval(strcmp(y, x) >= 0); // expected-warning{{FALSE}}
692 clang_analyzer_eval(strcmp(y, x) < -1); // expected-warning{{UNKNOWN}}
696 clang_analyzer_eval(strcmp("123", "123") == 0); // expected-warning{{TRUE}}
701 clang_analyzer_eval(strcmp(x, "123") == 0); // expected-warning{{TRUE}}
706 clang_analyzer_eval(strcmp("123", x) == 0); // expected-warning{{TRUE}}
712 clang_analyzer_eval(strcmp(x, y) == 0); // expected-warning{{TRUE}}
718 clang_analyzer_eval(strcmp(x, y) > 0); // expected-warning{{TRUE}}
724 clang_analyzer_eval(strcmp(x, y) < 0); // expected-warning{{TRUE}}
730 strcmp(x, y); // expected-warning{{Null pointer argument in call to string comparison function}}
736 strcmp(x, y); // expected-warning{{Null pointer argument in call to string comparison function}}
742 clang_analyzer_eval(strcmp(x, y) < 0); // expected-warning{{TRUE}}
748 clang_analyzer_eval(strcmp(x, y) < 0); // expected-warning{{TRUE}}
754 clang_analyzer_eval(strcmp(x, y) > 0); // expected-warning{{TRUE}}
760 clang_analyzer_eval(strcmp(x, y) < 0); // expected-warning{{TRUE}}
764 clang_analyzer_eval(strcmp("\0z", "\0y") == 0); // expected-warning{{TRUE}}
768 clang_analyzer_eval(strcmp(unknown, unknown) == 0); // expected-warning{{TRUE}}
795 clang_analyzer_eval(strncmp(x, y, 2) > 0); // expected-warning{{TRUE}}
796 clang_analyzer_eval(strncmp(x, y, 2) <= 0); // expected-warning{{FALSE}}
797 clang_analyzer_eval(strncmp(x, y, 2) > 1); // expected-warning{{UNKNOWN}}
799 clang_analyzer_eval(strncmp(y, x, 2) < 0); // expected-warning{{TRUE}}
800 clang_analyzer_eval(strncmp(y, x, 2) >= 0); // expected-warning{{FALSE}}
801 clang_analyzer_eval(strncmp(y, x, 2) < -1); // expected-warning{{UNKNOWN}}
805 clang_analyzer_eval(strncmp("123", "123", 3) == 0); // expected-warning{{TRUE}}
810 clang_analyzer_eval(strncmp(x, "123", 3) == 0); // expected-warning{{TRUE}}
815 clang_analyzer_eval(strncmp("123", x, 3) == 0); // expected-warning{{TRUE}}
821 clang_analyzer_eval(strncmp(x, y, 3) == 0); // expected-warning{{TRUE}}
827 clang_analyzer_eval(strncmp(x, y, 3) > 0); // expected-warning{{TRUE}}
833 clang_analyzer_eval(strncmp(x, y, 3) < 0); // expected-warning{{TRUE}}
839 strncmp(x, y, 3); // expected-warning{{Null pointer argument in call to string comparison function}}
845 strncmp(x, y, 3); // expected-warning{{Null pointer argument in call to string comparison function}}
851 clang_analyzer_eval(strncmp(x, y, 5) < 0); // expected-warning{{TRUE}}
857 clang_analyzer_eval(strncmp(x, y, 5) < 0); // expected-warning{{TRUE}}
863 clang_analyzer_eval(strncmp(x, y, 5) > 0); // expected-warning{{TRUE}}
869 clang_analyzer_eval(strncmp(x, y, 5) < 0); // expected-warning{{TRUE}}
875 clang_analyzer_eval(strncmp(x, y, 3) == 0); // expected-warning{{TRUE}}
881 clang_analyzer_eval(strncmp(x, y, 3) < 0); // expected-warning{{TRUE}}
887 clang_analyzer_eval(strncmp(x, y, 3) > 0); // expected-warning{{TRUE}}
891 clang_analyzer_eval(strncmp("ab\0zz", "ab\0yy", 4) == 0); // expected-warning{{TRUE}}
904 clang_analyzer_eval(strcasecmp(x, y) > 0); // expected-warning{{TRUE}}
905 clang_analyzer_eval(strcasecmp(x, y) <= 0); // expected-warning{{FALSE}}
906 clang_analyzer_eval(strcasecmp(x, y) > 1); // expected-warning{{UNKNOWN}}
908 clang_analyzer_eval(strcasecmp(y, x) < 0); // expected-warning{{TRUE}}
909 clang_analyzer_eval(strcasecmp(y, x) >= 0); // expected-warning{{FALSE}}
910 clang_analyzer_eval(strcasecmp(y, x) < -1); // expected-warning{{UNKNOWN}}
914 clang_analyzer_eval(strcasecmp("abc", "Abc") == 0); // expected-warning{{TRUE}}
919 clang_analyzer_eval(strcasecmp(x, "Abc") == 0); // expected-warning{{TRUE}}
924 clang_analyzer_eval(strcasecmp("Abc", x) == 0); // expected-warning{{TRUE}}
930 clang_analyzer_eval(strcasecmp(x, y) == 0); // expected-warning{{TRUE}}
936 clang_analyzer_eval(strcasecmp(x, y) > 0); // expected-warning{{TRUE}}
942 clang_analyzer_eval(strcasecmp(x, y) < 0); // expected-warning{{TRUE}}
948 strcasecmp(x, y); // expected-warning{{Null pointer argument in call to string comparison function}}
954 strcasecmp(x, y); // expected-warning{{Null pointer argument in call to string comparison function}}
960 clang_analyzer_eval(strcasecmp(x, y) < 0); // expected-warning{{TRUE}}
966 clang_analyzer_eval(strcasecmp(x, y) < 0); // expected-warning{{TRUE}}
972 clang_analyzer_eval(strcasecmp(x, y) > 0); // expected-warning{{TRUE}}
978 clang_analyzer_eval(strcasecmp(x, y) < 0); // expected-warning{{TRUE}}
982 clang_analyzer_eval(strcasecmp("ab\0zz", "ab\0yy") == 0); // expected-warning{{TRUE}}
995 clang_analyzer_eval(strncasecmp(x, y, 2) > 0); // expected-warning{{TRUE}}
996 clang_analyzer_eval(strncasecmp(x, y, 2) <= 0); // expected-warning{{FALSE}}
997 clang_analyzer_eval(strncasecmp(x, y, 2) > 1); // expected-warning{{UNKNOWN}}
999 clang_analyzer_eval(strncasecmp(y, x, 2) < 0); // expected-warning{{TRUE}}
1000 clang_analyzer_eval(strncasecmp(y, x, 2) >= 0); // expected-warning{{FALSE}}
1001 clang_analyzer_eval(strncasecmp(y, x, 2) < -1); // expected-warning{{UNKNOWN}}
1005 clang_analyzer_eval(strncasecmp("abc", "Abc", 3) == 0); // expected-warning{{TRUE}}
1010 clang_analyzer_eval(strncasecmp(x, "Abc", 3) == 0); // expected-warning{{TRUE}}
1015 clang_analyzer_eval(strncasecmp("Abc", x, 3) == 0); // expected-warning{{TRUE}}
1021 clang_analyzer_eval(strncasecmp(x, y, 3) == 0); // expected-warning{{TRUE}}
1027 clang_analyzer_eval(strncasecmp(x, y, 3) > 0); // expected-warning{{TRUE}}
1033 clang_analyzer_eval(strncasecmp(x, y, 3) < 0); // expected-warning{{TRUE}}
1039 strncasecmp(x, y, 3); // expected-warning{{Null pointer argument in call to string comparison function}}
1045 strncasecmp(x, y, 3); // expected-warning{{Null pointer argument in call to string comparison function}}
1051 clang_analyzer_eval(strncasecmp(x, y, 5) < 0); // expected-warning{{TRUE}}
1057 clang_analyzer_eval(strncasecmp(x, y, 5) < 0); // expected-warning{{TRUE}}
1063 clang_analyzer_eval(strncasecmp(x, y, 5) > 0); // expected-warning{{TRUE}}
1069 clang_analyzer_eval(strncasecmp(x, y, 5) < 0); // expected-warning{{TRUE}}
1075 clang_analyzer_eval(strncasecmp(x, y, 3) == 0); // expected-warning{{TRUE}}
1081 clang_analyzer_eval(strncasecmp(x, y, 3) < 0); // expected-warning{{TRUE}}
1087 clang_analyzer_eval(strncasecmp(x, y, 3) > 0); // expected-warning{{TRUE}}
1091 clang_analyzer_eval(strncasecmp("ab\0zz", "ab\0yy", 4) == 0); // expected-warning{{TRUE}}
1101 strsep(&s, NULL); // expected-warning{{Null pointer argument in call to strsep()}}
1105 strsep(NULL, ""); // expected-warning{{Null pointer argument in call to strsep()}}
1110 warning
1111 clang_analyzer_eval(original == result); // expected-warning{{TRUE}}
1116 char *result = strsep(&s, ""); // no-warning
1117 clang_analyzer_eval(result == NULL); // expected-warning{{TRUE}}
1122 strsep(&s, ""); // no-warning
1123 clang_analyzer_eval(s == original); // expected-warning{{UNKNOWN}}
1124 clang_analyzer_eval(s == NULL); // expected-warning{{UNKNOWN}}
1128 clang_analyzer_eval(s == NULL); // expected-warning{{TRUE}}
1135 clang_analyzer_eval(str[1] == 'b'); // expected-warning{{TRUE}}
1138 strsep(&s, "b"); // no-warning
1142 clang_analyzer_eval(str[1] == 'b'); // expected-warning{{UNKNOWN}}
1156 clang_analyzer_eval(strlen(dst) >= 4); // expected-warning{{UNKNOWN}}
1166 strncpy(x, y, 4); // no-warning
1169 clang_analyzer_eval(strlen(x) <= 3); // expected-warning{{UNKNOWN}}