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 */