observer.c: (in function stx_name) observer.c:9:10: Function returns reference to parameter x: (x->name) observer.c:9:10: Return value exposes rep of stx: (x->name) observer.c:9:20: Released storage x->name reachable from parameter at return point observer.c:9:10: Storage x->name released observer.c: (in function f) observer.c:33:3: Suspect modification of observer s: *s = 'x' observer.c:32:7: Storage *s becomes observer observer.c:34:9: Function call may modify observer s: s observer.c:32:7: Storage s becomes observer observer.c:34:9: Observer storage s passed as only param: free (s) observer.c:32:7: Storage s becomes observer observer.c:38:9: Exposed storage s passed as only param: free (s) observer.c:36:3: Storage s becomes exposed observer.c:41:10: Observer storage *s reachable from unqualified return value observer.c:40:7: Storage *s becomes observer observer.c:41:10: Observer storage s returned without qualification: s observer.c:40:7: Storage s becomes observer Finished checking --- 9 code warnings, as expected observer.c: (in function stx_name) observer.c:9:10: Function returns reference to parameter x: (x->name) observer.c:9:20: Released storage x->name reachable from parameter at return point observer.c:9:10: Storage x->name released observer.c: (in function f) observer.c:33:3: Suspect modification of observer s: *s = 'x' observer.c:32:7: Storage *s becomes observer observer.c:34:9: Function call may modify observer s: s observer.c:32:7: Storage s becomes observer observer.c:34:9: Observer storage s passed as only param: free (s) observer.c:32:7: Storage s becomes observer observer.c:38:9: Exposed storage s passed as only param: free (s) observer.c:36:3: Storage s becomes exposed observer.c:41:10: Observer storage *s reachable from unqualified return value observer.c:40:7: Storage *s becomes observer observer.c:41:10: Observer storage s returned without qualification: s observer.c:40:7: Storage s becomes observer Finished checking --- 8 code warnings, as expected observer.c: (in function stx_name) observer.c:9:20: Released storage x->name reachable from parameter at return point observer.c:9:10: Storage x->name released observer.c: (in function f) observer.c:33:3: Suspect modification of observer s: *s = 'x' observer.c:32:7: Storage *s becomes observer observer.c:34:9: Function call may modify observer s: s observer.c:32:7: Storage s becomes observer observer.c:34:9: Observer storage s passed as only param: free (s) observer.c:32:7: Storage s becomes observer observer.c:38:9: Exposed storage s passed as only param: free (s) observer.c:36:3: Storage s becomes exposed observer.c:41:10: Observer storage *s reachable from unqualified return value observer.c:40:7: Storage *s becomes observer observer.c:41:10: Observer storage s returned without qualification: s observer.c:40:7: Storage s becomes observer Finished checking --- 7 code warnings, as expected