1*1f5207b7SJohn Levon int strlen(char *str);
2*1f5207b7SJohn Levon int strcpy(char *str);
3*1f5207b7SJohn Levon 
func(char * input)4*1f5207b7SJohn Levon void func (char *input)
5*1f5207b7SJohn Levon {
6*1f5207b7SJohn Levon 	int input_len;
7*1f5207b7SJohn Levon 	char buf[4];
8*1f5207b7SJohn Levon 
9*1f5207b7SJohn Levon 	input_len = strlen(input);
10*1f5207b7SJohn Levon 	if (input_len <= 5) {
11*1f5207b7SJohn Levon 		strcpy(buf, input);
12*1f5207b7SJohn Levon 	}
13*1f5207b7SJohn Levon 	if (input_len <= 3) {
14*1f5207b7SJohn Levon 		strcpy(buf, input);
15*1f5207b7SJohn Levon 	}
16*1f5207b7SJohn Levon }
17*1f5207b7SJohn Levon /*
18*1f5207b7SJohn Levon  * check-name: Smatch strlen test
19*1f5207b7SJohn Levon  * check-command: smatch sm_strlen.c
20*1f5207b7SJohn Levon  *
21*1f5207b7SJohn Levon  * check-output-start
22*1f5207b7SJohn Levon sm_strlen.c:11 func() error: strcpy() 'input' too large for 'buf' (6 vs 4)
23*1f5207b7SJohn Levon  * check-output-end
24*1f5207b7SJohn Levon  */
25