11f5207b7SJohn Levon struct ture { 21f5207b7SJohn Levon int a; 31f5207b7SJohn Levon }; 41f5207b7SJohn Levon 51f5207b7SJohn Levon struct ture *a; 61f5207b7SJohn Levon struct ture *b; 71f5207b7SJohn Levon func(void)81f5207b7SJohn Levonvoid func (void) 91f5207b7SJohn Levon { 101f5207b7SJohn Levon struct ture *aa; 111f5207b7SJohn Levon 121f5207b7SJohn Levon b = 0; 131f5207b7SJohn Levon if (a) 141f5207b7SJohn Levon goto x; 151f5207b7SJohn Levon aa = returns_nonnull(); 161f5207b7SJohn Levon b = 1; 171f5207b7SJohn Levon x: 181f5207b7SJohn Levon if (b) 191f5207b7SJohn Levon aa->a = 1; 201f5207b7SJohn Levon aa->a = 1; 211f5207b7SJohn Levon return; 221f5207b7SJohn Levon } 231f5207b7SJohn Levon /* 241f5207b7SJohn Levon * check-name: Smatch implied #1 251f5207b7SJohn Levon * check-command: smatch --spammy sm_implied.c 261f5207b7SJohn Levon * 271f5207b7SJohn Levon * check-output-start 28*efe51d0cSJohn Levon sm_implied.c:20 func() error: potentially dereferencing uninitialized 'aa'. 291f5207b7SJohn Levon sm_implied.c:20 func() error: potentially dereferencing uninitialized 'aa'. 301f5207b7SJohn Levon * check-output-end 311f5207b7SJohn Levon */ 32