1 typedef struct _st { int a; int b; } *st;
8 u1->a = 3; /* 1. Variable u1 used before definition */
12 i = (*s).a; /* 2. Field s->a used before definition */
16 void f(/*@out@*/ int *a, int *b)
21 x = *a; /* 3. Value *a used before definition */
22 x = *a; /* not reported */
23 x = *a; /* not reported */
37 f(c, b); /* 4, 5. Unallocated storage c passed as out parameter: c,
38 Variable b used before definition */
39 f(d, c); /* 6. Unallocated storage d passed as out parameter: d */
41 s = t; /* 7. Variable t used before definition */
42 s = t2->a; /* 8, 9. Variable t2 used before definition,
43 Assignment of int to st: s = t2->a */
44 t3->a = 3; /* 10. Variable t3 used before definition */
46 t4 = (st)malloc(sizeof(struct _st));
47 t4->a = 3; /* 11. Possible arrow access from null pointer: t4 */
48 return *b; /* 10. Fresh storage not released before return: t4 */