Corrige possível utilização após liberar memória.
[cascardo/declara.git] / lib / isento.c
index 25512f1..fd8f925 100644 (file)
@@ -151,13 +151,13 @@ static int run_isento(struct declaracao *dec, char **args, int argc)
                isento_free(isento);
                return -EINVAL;
        }
-       r = list_insert_ordered(&dec->isentos, isento, isento_cmp);
-       if (r < 0) {
+       r = isento_totais_update(dec, isento);
+       if (r) {
                isento_free(isento);
                return r;
        }
-       r = isento_totais_update(dec, isento);
-       if (r) {
+       r = list_insert_ordered(&dec->isentos, isento, isento_cmp);
+       if (r < 0) {
                isento_free(isento);
                return r;
        }