root/usr/src/tools/smatch/src/validation/sm_implied2.c
struct ture {
        int a;
};

struct ture *a;
struct ture *b;
struct ture *c;

void func (void)
{
        struct ture *aa, *ab;

        b = 0;
        if (a) {
                aa = returns_nonnull();
                ab = returns_nonnull();
        } else {
                b = -1;
        }
        if (!(b)) {
                if (c) {
                        aa = (void *)0;
                        ab = (void *)0;
                        b = -1;
                }
        }
        if (!c)
                aa->a = 1;
        if (b)
                return;
        ab->a = 1;
        return;
}
/*
 * check-name: Smatch implied #2
 * check-command: smatch --spammy sm_implied2.c
 *
 * check-output-start
sm_implied2.c:28 func() error: potentially dereferencing uninitialized 'aa'.
sm_implied2.c:28 func() error: potentially dereferencing uninitialized 'aa'.
 * check-output-end
 */