From bd6d9805fcfdc2a629daec646dd2428833f9ce65 Mon Sep 17 00:00:00 2001 From: Kai Blaschke Date: Wed, 25 Jan 2023 15:30:08 +0100 Subject: [PATCH] Preset parser: Return 0.0 constant on empty rvalue if line is terminated properly. Crashed on presets with expression lines like "val = ;". --- src/libprojectM/MilkdropPresetFactory/Parser.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libprojectM/MilkdropPresetFactory/Parser.cpp b/src/libprojectM/MilkdropPresetFactory/Parser.cpp index eedc52e1a..7de8807f1 100755 --- a/src/libprojectM/MilkdropPresetFactory/Parser.cpp +++ b/src/libprojectM/MilkdropPresetFactory/Parser.cpp @@ -854,7 +854,7 @@ Expr * Parser::_parse_gen_expr ( std::istream & fs, TreeExpr * tree_expr, Milkd if (*string == 0) { if (PARSE_DEBUG) printf("parse_gen_expr: empty string coupled with terminal (LINE %d) \n", line_count); - if (nullptr == tree_expr && (token==tEOF||token==tEOL)) + if (nullptr == tree_expr && (token == tEOF || token == tEOL || token == tSemiColon)) { // we will get here if we have a completely empty line e.g. "shape_1_per_frame1=shpt =" // we return 0 because returning NULL would indicate an error