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);
}