1 #include "check_debug.h"
2
3 void strndup(char *to, int size);
4 void strcpy(char *dest, char *src);
5
6 void func (char *a, char *b)
7 {
8 char c[5];
9
10 a = strndup(b, 5);
11 strcpy(c, a);
12 }
13 /*
14 * check-name: smatch strndup overflow
15 * check-command: smatch -I.. sm_overflow4.c
16 *
17 * check-output-start
18 sm_overflow4.c:11 func() error: strcpy() 'a' too large for 'c' (6 vs 5)
19 * check-output-end
20 */