null1.c: (in function ptrpred) null1.c:7:22: Out storage x not defined before return null1.c: (in function f) null1.c:19:20: Implicitly temp storage x returned as only: x null1.c:19:20: Possibly null storage x returned as non-null: x null1.c:10:35: Storage x may become null null1.c:19:22: Fresh storage y not released before return null1.c:12:41: Fresh storage y created null1.c:31:4: Dereference of possibly null pointer y: *y null1.c:12:12: Storage y may become null null1.c:34:5: Possibly null storage z passed as non-null param: g (z) null1.c:25:7: Storage z may become null null1.c:34:5: Passed storage z not completely defined (*z is undefined): g (z) null1.c:25:3: Storage *z allocated null1.c:39:14: Dereference of null pointer z: *z null1.c:25:7: Storage z becomes null null1.c:43:22: Dereference of possibly null pointer z4: *z4 null1.c:42:8: Storage z4 may become null null1.c:46:25: Dereference of possibly null pointer z2: *z2 null1.c:26:8: Storage z2 may become null null1.c:49:11: Dereference of possibly null pointer z3: *z3 null1.c:27:8: Storage z3 may become null null1.c:55:4: Dereference of possibly null pointer z2: *z2 null1.c:51:8: Storage z2 may become null null1.c:59:23: Dereference of possibly null pointer z5: *z5 null1.c:57:8: Storage z5 may become null null1.c:67:10: Possibly null storage z returned as non-null: z null1.c:25:7: Storage z may become null null1.c:67:12: Fresh storage z3 not released before return null1.c:27:3: Fresh storage z3 created Finished checking --- 15 code warnings, as expected null1.c: (in function f) null1.c:19:20: Implicitly temp storage x returned as only: x null1.c:19:22: Fresh storage y not released before return null1.c:12:41: Fresh storage y created null1.c:34:5: Passed storage z not completely defined (*z is undefined): g (z) null1.c:25:3: Storage *z allocated null1.c:67:12: Fresh storage z3 not released before return null1.c:27:3: Fresh storage z3 created Finished checking --- 4 code warnings, as expected null2.c: (in function ptrpred) null2.c:7:22: Out storage x not defined before return null2.c: (in function f) null2.c:15:10: Left operand of && is non-boolean (int *): x1 && (*x1 == 3) null2.c:16:19: Dereference of possibly null pointer x2: *x2 null2.c:10:55: Storage x2 may become null null2.c:17:18: Dereference of possibly null pointer x3: *x3 null2.c:11:21: Storage x3 may become null null2.c:17:10: Left operand of || is non-boolean (int *): x3 || (*x3 == 3) null2.c:20:27: Dereference of possibly null pointer x1: *x1 null2.c:10:35: Storage x1 may become null null2.c:23:7: Left operand of && is non-boolean (int *): x4 && (*x4 == 3) null2.c:30:8: Dereference of possibly null pointer x4: *x4 null2.c:11:41: Storage x4 may become null null2.c:35:14: Implicitly temp storage x3 returned as only: (x3) null2.c:35:14: Possibly null storage x3 returned as non-null: (x3) null2.c:11:21: Storage x3 may become null null2.c:39:10: Implicitly temp storage x1 returned as only: (x1) Finished checking --- 11 code warnings, as expected null3.c: (in function f3) null3.c:16:4: Dereference of possibly null pointer gnip: *gnip null3.c:3:25: Storage gnip may become null null3.c: (in function f) null3.c:27:4: Dereference of possibly null pointer arg0: *arg0 null3.c:37:8: Dereference of possibly null pointer z: *z null3.c:25:12: Storage z may become null null3.c:38:16: Only storage aip not released before return null3.c:22:66: Storage aip becomes only null3.c:44:4: Dereference of possibly null pointer arg2: *arg2 null3.c:52:4: Dereference of possibly null pointer gnip: *gnip null3.c:51:10: Storage gnip may become null null3.c:53:9: Variable z used after being released null3.c:51:3: Storage z released null3.c:53:3: Only storage gip (type int *) not released before assignment (z aliases gnip): gip = z null3.c:5:17: Storage gip becomes only null3.c:55:3: Only storage gnip (type nip) not released before assignment: gnip = aip null3.c:53:3: Storage gnip becomes kept null3.c:60:14: Returned storage y not completely defined (*y is undefined): y null3.c:24:42: Storage *y allocated null3.c:60:16: Function returns with non-null global gip referencing null storage null3.c:53:9: Storage gip may become null null3.c:65:14: Possibly null storage y returned as non-null: y null3.c:24:12: Storage y may become null null3.c:65:14: Returned storage y not completely defined (*y is undefined): y null3.c:24:42: Storage *y allocated null3.c:65:16: Function returns with non-null global gip referencing null storage null3.c:53:9: Storage gip may become null null3.c: (in function f2) null3.c:73:4: Dereference of possibly null pointer gnip: *gnip null3.c:55:10: Storage gnip may become null Finished checking --- 15 code warnings, as expected null3.c: (in function f3) null3.c:16:4: Dereference of possibly null pointer gnip: *gnip null3.c:3:25: Storage gnip may become null null3.c: (in function f) null3.c:27:4: Dereference of possibly null pointer arg0: *arg0 null3.c:35:13: Possibly null storage y passed as non-null param: free (y) null3.c:24:12: Storage y may become null null3.c:37:8: Dereference of possibly null pointer z: *z null3.c:25:12: Storage z may become null null3.c:38:16: Only storage aip not released before return null3.c:22:66: Storage aip becomes only null3.c:44:4: Dereference of possibly null pointer arg2: *arg2 null3.c:52:4: Dereference of possibly null pointer gnip: *gnip null3.c:51:10: Storage gnip may become null null3.c:53:9: Variable z used after being released null3.c:51:3: Storage z released null3.c:53:3: Only storage gip (type int *) not released before assignment (z aliases gnip): gip = z null3.c:5:17: Storage gip becomes only null3.c:55:3: Only storage gnip (type nip) not released before assignment: gnip = aip null3.c:53:3: Storage gnip becomes kept null3.c:60:14: Returned storage y not completely defined (*y is undefined): y null3.c:24:42: Storage *y allocated null3.c:60:16: Function returns with non-null global gip referencing null storage null3.c:53:9: Storage gip may become null null3.c:65:14: Possibly null storage y returned as non-null: y null3.c:24:12: Storage y may become null null3.c:65:14: Returned storage y not completely defined (*y is undefined): y null3.c:24:42: Storage *y allocated null3.c:65:16: Function returns with non-null global gip referencing null storage null3.c:53:9: Storage gip may become null null3.c: (in function f2) null3.c:73:4: Dereference of possibly null pointer gnip: *gnip null3.c:55:10: Storage gnip may become null Finished checking --- 16 code warnings, as expected null4.c: (in function g) null4.c:43:3: Only storage p (type int *) not released before assignment: p = malloc(24) null4.c:3:28: Storage p becomes only Finished checking --- 1 code warning, as expected null5.c:5:29: Qualifier falsenull used with function returning char (should return bool) null5.c:6:29: Qualifier falsenull used with function having 2 arguments (should have 1) null5.c: (in function g2) null5.c:26:15: Dereference of possibly null pointer y: *y null5.c:18:25: Storage y may become null null5.c: (in function g3) null5.c:37:11: Dereference of null pointer y: *y null5.c:30:25: Storage y becomes null Finished checking --- 4 code warnings, as expected null6.c:7:36: Function f1 declared with notnull parameter x of abstract type mnull null6.c: (in function f) null6.c:11:11: Dereference of possibly null pointer x: *x null6.c: (in function f6) null6.c:68:10: Possibly null storage x returned as non-null: x null6.c:61:31: Storage x may become null null6.c: (in function f7) null6.c:84:10: Possibly null storage x returned as non-null: x null6.c:81:11: Storage x may become null Finished checking --- 4 code warnings, as expected null6.c:7:36: Function f1 declared with notnull parameter x of abstract type mnull null6.c: (in function f) null6.c:11:11: Dereference of possibly null pointer x: *x null6.c: (in function f6) null6.c:68:10: Possibly null storage x returned as non-null: x null6.c:61:31: Storage x may become null null6.c: (in function f7) null6.c:84:10: Possibly null storage x returned as non-null: x null6.c:81:11: Storage x may become null Finished checking --- 4 code warnings, as expected