xref: /illumos-gate/usr/src/tools/smatch/src/validation/sm_compound_condition.c (revision 45ede40b2394db7967e59f19288fae9b62efd4aa)
1 struct ture {
2 	int a;
3 };
4 
5 struct ture *a;
6 struct ture *b;
7 
8 void func (void)
9 {
10 	if (!a && !(a = returns_nonnull()))
11 		return;
12 	a->a = 1;
13 
14 	if (b || (b = returns_nonnull())) {
15 		b->a  = 1;
16 		return;
17 	}
18 	b->a = 1;
19 }
20 /*
21  * check-name: Compound Conditions
22  * check-command: smatch sm_compound_condition.c
23  *
24  * check-output-start
25 sm_compound_condition.c:18 func() error: we previously assumed 'b' could be null (see line 14)
26  * check-output-end
27  */
28