http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50171
--- Comment #3 from Kirill A. Shutemov <kirill at shutemov dot name> 2011-08-24 10:57:30 UTC --- Sorry, I've made mistake trying to simplify the test case. Is it still correct to generate warning for the code below? int error(void); int baz(char **, const char *); int quux(char *); static int bar(char **out, const char *in) { char *t; int err; err = baz(&t, in); if (err < 0) return error(); *out = t; return 0; } int foo(const char *a) { int err; char *b; err = bar(&b, a); if (err < 0) return error(); return quux(b); }