11f5207b7SJohn Levon struct ture { 21f5207b7SJohn Levon int a; 31f5207b7SJohn Levon }; 41f5207b7SJohn Levon 51f5207b7SJohn Levon int out_a; 61f5207b7SJohn Levon func(void)71f5207b7SJohn Levonvoid 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