blob: f59d9efd3e1959ea00077b1b069d09bc1348164c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
/* C only: C++ FE fpermissive already emits an error for initializer
string too long.
C++ compatible parts have been moved into c-c++-common/analyzer/fopen-2.c */
typedef struct FILE FILE;
FILE *fopen (const char *pathname, const char *mode);
FILE *
test_unterminated_pathname (const char *mode)
{
char buf[3] = "abc";
return fopen (buf, mode); /* { dg-warning "stack-based buffer over-read" } */
/* { dg-message "while looking for null terminator for argument 1 \\('&buf'\\) of 'fopen'..." "event" { target *-*-* } .-1 } */
}
FILE *
test_unterminated_mode (const char *filename)
{
char buf[3] = "abc";
return fopen (filename, buf); /* { dg-warning "stack-based buffer over-read" } */
/* { dg-message "while looking for null terminator for argument 2 \\('&buf'\\) of 'fopen'..." "event" { target *-*-* } .-1 } */
}
|