Fix FLAC__stream_decoder_delete() and FLAC__stream_encoder_delete()
authorErik de Castro Lopo <erikd@mega-nerd.com>
Thu, 21 Jun 2012 22:39:20 +0000 (08:39 +1000)
committerErik de Castro Lopo <erikd@mega-nerd.com>
Fri, 22 Jun 2012 03:39:40 +0000 (13:39 +1000)
so that they will simply return if passed a NULL pointer (ie just
like the C free() stdlib function).

src/libFLAC/stream_decoder.c
src/libFLAC/stream_encoder.c

index 5b3c3cd..ca4c185 100644 (file)
@@ -332,7 +332,9 @@ FLAC_API void FLAC__stream_decoder_delete(FLAC__StreamDecoder *decoder)
 {
        unsigned i;
 
-       FLAC__ASSERT(0 != decoder);
+       if (decoder == NULL)
+               return ;
+
        FLAC__ASSERT(0 != decoder->protected_);
        FLAC__ASSERT(0 != decoder->private_);
        FLAC__ASSERT(0 != decoder->private_->input);
index 7e102a5..c8d8adb 100644 (file)
@@ -578,7 +578,9 @@ FLAC_API void FLAC__stream_encoder_delete(FLAC__StreamEncoder *encoder)
 {
        unsigned i;
 
-       FLAC__ASSERT(0 != encoder);
+       if (encoder == NULL)
+               return ;
+
        FLAC__ASSERT(0 != encoder->protected_);
        FLAC__ASSERT(0 != encoder->private_);
        FLAC__ASSERT(0 != encoder->private_->frame);