1*1f5207b7SJohn Levon #define NULL ((void *)0) 2*1f5207b7SJohn Levon 3*1f5207b7SJohn Levon struct ture { 4*1f5207b7SJohn Levon int *a; 5*1f5207b7SJohn Levon }; 6*1f5207b7SJohn Levon 7*1f5207b7SJohn Levon struct ture *b; 8*1f5207b7SJohn Levon struct ture *c; 9*1f5207b7SJohn Levon func(void)10*1f5207b7SJohn Levonvoid func (void) 11*1f5207b7SJohn Levon { 12*1f5207b7SJohn Levon struct ture *ab; 13*1f5207b7SJohn Levon int ret = 0; 14*1f5207b7SJohn Levon 15*1f5207b7SJohn Levon if (b) { 16*1f5207b7SJohn Levon ret = -1; 17*1f5207b7SJohn Levon goto foo; 18*1f5207b7SJohn Levon } 19*1f5207b7SJohn Levon 20*1f5207b7SJohn Levon if (c) {} 21*1f5207b7SJohn Levon 22*1f5207b7SJohn Levon ab = some_func(); 23*1f5207b7SJohn Levon if (NULL == ab) { 24*1f5207b7SJohn Levon ret = -1; 25*1f5207b7SJohn Levon goto foo; 26*1f5207b7SJohn Levon } 27*1f5207b7SJohn Levon foo: 28*1f5207b7SJohn Levon if (ret) { 29*1f5207b7SJohn Levon return; 30*1f5207b7SJohn Levon } 31*1f5207b7SJohn Levon ab->a = 1; 32*1f5207b7SJohn Levon } 33*1f5207b7SJohn Levon /* 34*1f5207b7SJohn Levon * check-name: Smatch implied #3 35*1f5207b7SJohn Levon * check-command: smatch sm_implied3.c 36*1f5207b7SJohn Levon */ 37