From 994c61fb0da9628161c3ebaab533b9e715d284be Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Tue, 13 Jan 2009 15:45:50 +0100 Subject: piano: Don't segfault with empty quickmix list --- libpiano/src/xml.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'libpiano') diff --git a/libpiano/src/xml.c b/libpiano/src/xml.c index 66e937e..95e9756 100644 --- a/libpiano/src/xml.c +++ b/libpiano/src/xml.c @@ -388,17 +388,19 @@ PianoReturn_t PianoXmlParseStations (PianoHandle_t *ph, const char *xml) { } } /* set quickmix flags after all stations are read */ - curQuickMixId = quickMixIds; - while (*curQuickMixId != NULL) { - PianoStation_t *curStation = PianoFindStationById (ph->stations, - *curQuickMixId); - if (curStation != NULL) { - curStation->useQuickMix = 1; + if (quickMixIds != NULL) { + curQuickMixId = quickMixIds; + while (*curQuickMixId != NULL) { + PianoStation_t *curStation = PianoFindStationById (ph->stations, + *curQuickMixId); + if (curStation != NULL) { + curStation->useQuickMix = 1; + } + free (*curQuickMixId); + curQuickMixId++; } - free (*curQuickMixId); - curQuickMixId++; + free (quickMixIds); } - free (quickMixIds); xmlFreeDoc (doc); return PIANO_RET_OK; -- cgit v1.2.3