xref: /illumos-gate/usr/src/tools/smatch/src/validation/sm_dev_hold.c (revision dc5e7685b131559c0b7c622baee25a9a0ae50ada)
1 void dev_hold(int *x);
2 
3 void dev_put(int *x){}
4 
5 extern int y,z;
6 int *x;
7 
8 int func (void)
9 {
10 	dev_hold(x);
11 	if (y) {
12 		dev_put(x);
13 		return -1;
14 	}
15 	if (z) {
16 		return -1;
17 	}
18 	return 0;
19 }
20 /*
21  * check-name: dev_hold() check
22  * check-command: smatch --project=kernel sm_dev_hold.c
23  *
24  * check-output-start
25 sm_dev_hold.c:16 func() warn: 'x' held on error path.
26  * check-output-end
27  */
28