]> git.ipfire.org Git - pakfire.git/commitdiff
parser: Handle empty else statement returning NULL
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 25 Feb 2021 14:26:08 +0000 (14:26 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 25 Feb 2021 14:26:08 +0000 (14:26 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/parser/grammar.y

index 991ec0c4112fcce9236da8fbafd0ef79a7ec8fe1..9f9f73ecfbf8e59b3ce18dacc8ffec8f8a069250 100644 (file)
@@ -164,7 +164,9 @@ grammar                                             : %empty
                                                        }
                                                        | grammar if_stmt
                                                        {
-                                                               pakfire_parser_merge($1, $2);
+                                                               if ($2)
+                                                                       pakfire_parser_merge($1, $2);
+
                                                                $$ = pakfire_parser_ref($1);
                                                        }
                                                        | grammar empty
@@ -343,5 +345,8 @@ static PakfireParser make_if_stmt(Pakfire pakfire, PakfireParser* parser, const
        free(v1);
        free(v2);
 
-       return pakfire_parser_ref(result);
+       if (result)
+               pakfire_parser_ref(result);
+
+       return result;
 }