// Error a propósito: libera el nodo y después lee sus hijos.
#include <stdlib.h>

#include "logic.h"

static void bad_free(Logic *e) {
    if (e == NULL) {
        return;
    }
    free(e);
    if (e->kind == LOGIC_AND) {
        bad_free(e->as.pair.left);
        bad_free(e->as.pair.right);
    }
}

int main(void) {
    bad_free(logic_and(logic_input('a'), logic_input('b')));
    return 0;
}
