]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - mp.c
audiod: Fix error checking in init_default_filters().
[paraslash.git] / mp.c
diff --git a/mp.c b/mp.c
index 56c16e31d7baf64fbf7c415b015b3de2967b6a38..aea767d99fea4b7bf0954504a03602766831a3b9 100644 (file)
--- a/mp.c
+++ b/mp.c
@@ -510,6 +510,7 @@ int mp_init(const char *definition, int nbytes, struct mp_context **result,
        mp_yy_delete_buffer(buffer_state, scanner);
        mp_yylex_destroy(scanner);
        if (ctx->errmsg) { /* parse error */
+               mp_free_ast(ctx->ast);
                if (errmsg)
                        *errmsg = ctx->errmsg;
                else
@@ -541,6 +542,8 @@ bool mp_eval_row(const struct osl_row *aft_row, struct mp_context *ctx)
 {
        if (!ctx) /* dummy mood */
                return true;
+       if (!ctx->ast) /* empty mood */
+               return true;
        assert(aft_row);
        ctx->aft_row = aft_row;
        ctx->have_afsi = false;