[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Crashes on malformed music
From: |
Devon Schudy |
Subject: |
Crashes on malformed music |
Date: |
Mon, 20 Jan 2014 16:24:08 -0500 |
There are a lot of places where Lilypond assumes music expressions
(and other Scheme values) are of the right type, and unsmobs them
without checking for null. This means it's easy to crash Lilypond by
making invalid music. For example, this segfaults in
Music_iterator::get_iterator (because
Lyric_combine_music_iterator::construct_children passes it null):
\score {
<<
\new Staff = "A" { c' }
#(make-music 'ContextSpeccedMusic
'create-new #t
'context-type 'Lyrics
'element (make-music 'LyricCombineMusic
'associated-context "A"
'element #f))
>>
}
Is this something to bother fixing? There are lots of ways to crash
Lilypond with Scheme, but fixing at least the common ones would save
some frustration.
- Crashes on malformed music,
Devon Schudy <=