1*1f5207b7SJohn Levon #include "check_debug.h"
2*1f5207b7SJohn Levon 
3*1f5207b7SJohn Levon char *some_func(void);
4*1f5207b7SJohn Levon 
5*1f5207b7SJohn Levon int x,y;
6*1f5207b7SJohn Levon int i;
func(void)7*1f5207b7SJohn Levon void func(void)
8*1f5207b7SJohn Levon {
9*1f5207b7SJohn Levon 	char *p;
10*1f5207b7SJohn Levon 	char *p2;
11*1f5207b7SJohn Levon 
12*1f5207b7SJohn Levon 	if (x > 0)
13*1f5207b7SJohn Levon 		p = some_func();
14*1f5207b7SJohn Levon 	for (i = 0; i < x; i++)
15*1f5207b7SJohn Levon 		*p = 'x';
16*1f5207b7SJohn Levon 	*p = 'x';
17*1f5207b7SJohn Levon 	if (y > 0)
18*1f5207b7SJohn Levon 		p2 = some_func();
19*1f5207b7SJohn Levon 	i = 0;
20*1f5207b7SJohn Levon 	if (i < y)
21*1f5207b7SJohn Levon 		*p2 = 'x';
22*1f5207b7SJohn Levon }
23*1f5207b7SJohn Levon /*
24*1f5207b7SJohn Levon  * check-name: smatch loops #4
25*1f5207b7SJohn Levon  * check-command: smatch -I.. sm_loops4.c
26*1f5207b7SJohn Levon  *
27*1f5207b7SJohn Levon  * check-output-start
28*1f5207b7SJohn Levon sm_loops4.c:16 func() error: potentially dereferencing uninitialized 'p'.
29*1f5207b7SJohn Levon  * check-output-end
30*1f5207b7SJohn Levon  */
31