From 0da13b33f0f679314a28b5fc629447aad547815a Mon Sep 17 00:00:00 2001 From: Justin Maggard Date: Thu, 10 Sep 2015 11:58:16 -0700 Subject: [PATCH] flac: Fix fd leak on bad FLAC files. Some types of bad FLAC files error out early in the metadata parsing phase, and we weren't properly deleting the iterator if it errored out at that point. --- tagutils/tagutils-flc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tagutils/tagutils-flc.c b/tagutils/tagutils-flc.c index 9d9a2b2..926673b 100644 --- a/tagutils/tagutils-flc.c +++ b/tagutils/tagutils-flc.c @@ -37,8 +37,9 @@ _get_flctags(char *filename, struct song_metadata *psong) if(!FLAC__metadata_simple_iterator_init(iterator, filename, true, true)) { - DPRINTF(E_ERROR, L_SCANNER, "Cannot extract tag from %s\n", filename); - return -1; + DPRINTF(E_ERROR, L_SCANNER, "Cannot extract tag from %s [%s]\n", filename, + FLAC__Metadata_SimpleIteratorStatusString[FLAC__metadata_simple_iterator_status(iterator)]); + goto _exit; } do {