diff options
-rw-r--r-- | src/libflac/demux_flac.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/libflac/demux_flac.c b/src/libflac/demux_flac.c index 94cb96c47..a2b85252e 100644 --- a/src/libflac/demux_flac.c +++ b/src/libflac/demux_flac.c @@ -595,8 +595,15 @@ open_plugin (demux_class_t *class_gen, */ this->status = DEMUX_OK; FLAC__seekable_stream_decoder_process_until_end_of_metadata (this->flac_decoder); - - lprintf("Processed file until end of metadata\n"); + + lprintf("Processed file until end of metadata: %s\n", + this->status == DEMUX_OK ? "success" : "failure"); + + if (this->status != DEMUX_OK) { + FLAC__seekable_stream_decoder_delete (this->flac_decoder); + free (this); + return NULL; + } return &this->demux_plugin; } |