X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=flacdec_filter.c;fp=flacdec_filter.c;h=cd086f45748b9f85155f624f40fa1c939daf7cae;hb=1e196821cc4fa9e1319557ce1100961be6795278;hp=40246f24b625c3a5236df47149bb9179633eb5f9;hpb=3f96f9c305ff0c57ef10c523a2c45a4045f32dde;p=paraslash.git diff --git a/flacdec_filter.c b/flacdec_filter.c index 40246f24..cd086f45 100644 --- a/flacdec_filter.c +++ b/flacdec_filter.c @@ -264,10 +264,17 @@ out: static void flacdec_close(struct filter_node *fn) { - struct private_flacdec_data *pfd = fn->private_data; + struct private_flacdec_data *pfd; - FLAC__stream_decoder_finish(pfd->decoder); - FLAC__stream_decoder_delete(pfd->decoder); + if (!fn) + return; + pfd = fn->private_data; + if (!pfd) + return; + if (pfd->decoder) { + FLAC__stream_decoder_finish(pfd->decoder); + FLAC__stream_decoder_delete(pfd->decoder); + } free(pfd); fn->private_data = NULL; }