11f5207b7SJohn Levon struct ture {
21f5207b7SJohn Levon 	int a;
31f5207b7SJohn Levon };
41f5207b7SJohn Levon 
51f5207b7SJohn Levon int out_a;
61f5207b7SJohn Levon 
func(void)71f5207b7SJohn Levon void func (void)
81f5207b7SJohn Levon {
91f5207b7SJohn Levon 	struct ture *aa;
101f5207b7SJohn Levon 	int a = 0;
111f5207b7SJohn Levon 
121f5207b7SJohn Levon 	if (out_a) {
131f5207b7SJohn Levon 		aa = returns_nonnull();
141f5207b7SJohn Levon 		a = something();
151f5207b7SJohn Levon 	}
161f5207b7SJohn Levon 	if (a)
171f5207b7SJohn Levon 		aa->a = 1;
181f5207b7SJohn Levon 	aa->a = 0xF00D;
191f5207b7SJohn Levon }
201f5207b7SJohn Levon /*
211f5207b7SJohn Levon  * check-name: Smatch implied #5
221f5207b7SJohn Levon  * check-command: smatch --spammy sm_implied5.c
231f5207b7SJohn Levon  *
241f5207b7SJohn Levon  * check-output-start
25*efe51d0cSJohn Levon sm_implied5.c:18 func() error: potentially dereferencing uninitialized 'aa'.
261f5207b7SJohn Levon sm_implied5.c:18 func() error: potentially dereferencing uninitialized 'aa'.
271f5207b7SJohn Levon  * check-output-end
281f5207b7SJohn Levon  */
29