From 710206d06b88e43c1776aab303bb46d5889c8dcb Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Fri, 2 Dec 2011 00:15:01 +0100 Subject: [PATCH] Make ly:parse-string-expression robust against bad location parameters --- lily/lily-parser-scheme.cc | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/lily/lily-parser-scheme.cc b/lily/lily-parser-scheme.cc index b433bf9ec4..5f5b5a26fa 100644 --- a/lily/lily-parser-scheme.cc +++ b/lily/lily-parser-scheme.cc @@ -224,19 +224,15 @@ LY_DEFINE (ly_parse_string_expression, "ly:parse-string-expression", Lily_parser *parser = unsmob_lily_parser (parser_smob); LY_ASSERT_TYPE (scm_is_string, ly_code, 2); string fn; - if (SCM_UNBNDP (filename)) + if (SCM_UNBNDP (filename) || !scm_is_string (filename)) fn = ""; - else { - LY_ASSERT_TYPE (scm_is_string, filename, 3); + else fn = ly_scm2string (filename); - } int ln; - if (SCM_UNBNDP (line)) + if (SCM_UNBNDP (line) || !scm_is_integer (line)) ln = 0; - else { - LY_ASSERT_TYPE (scm_is_integer, line, 4); + else ln = scm_to_int (line); - } if (!parser->lexer_->is_clean ()) { -- 2.39.5