summaryrefslogtreecommitdiffhomepage
path: root/mixlib
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2019-01-08 18:02:00 +0000
committerJose Antonio Ortega Ruiz <jao@gnu.org>2019-01-08 18:02:00 +0000
commitab5d045fa8811a9d191c40bcbff996dfca8a2e32 (patch)
treea5ad2666d0461729296dff122378e4ebb653adb8 /mixlib
parent8981c9336bd73b0fabe65f449ccbe5fb808bebdd (diff)
downloadmdk-ab5d045fa8811a9d191c40bcbff996dfca8a2e32.tar.gz
mdk-ab5d045fa8811a9d191c40bcbff996dfca8a2e32.tar.bz2
Fix for mixasm infinite loop on invalid F-specs (bug #32452)
Thanks to Sascha Wilde.
Diffstat (limited to 'mixlib')
-rw-r--r--mixlib/mix_scanner.l8
1 files changed, 7 insertions, 1 deletions
diff --git a/mixlib/mix_scanner.l b/mixlib/mix_scanner.l
index 9071847..0ad1990 100644
--- a/mixlib/mix_scanner.l
+++ b/mixlib/mix_scanner.l
@@ -481,9 +481,15 @@ wexpr {expr}({fpart})?(,{expr}({fpart})?)*
ADD_INS ();
}
}
- {expr}/")" {
+
+ {expr}/")"(({ws}+.*\n)|\n) {
ENTER_EVAL ();
}
+
+ {expr}")".+ {
+ RETURN_ERROR (MIX_PERR_INV_FSPEC, g_strdup_printf ("(%s", yytext));
+ }
+
. RETURN_ERROR (MIX_PERR_INV_FSPEC, yytext);
}