FLAC__stream_encoder_finish: Sanity improvement
authorErik de Castro Lopo <erikd@mega-nerd.com>
Mon, 30 Jan 2017 19:39:22 +0000 (06:39 +1100)
committerErik de Castro Lopo <erikd@mega-nerd.com>
Mon, 30 Jan 2017 10:50:51 +0000 (21:50 +1100)
Previously this function would abort or crash if passed `NULL` for
the encoder. Now it just returns without crashing or aborting which
is far more sane behaviour (ie much like FLAC__stream_encoder_delete).

src/libFLAC/stream_encoder.c

index dcdc70f..1993ec5 100644 (file)
@@ -1439,7 +1439,9 @@ FLAC_API FLAC__bool FLAC__stream_encoder_finish(FLAC__StreamEncoder *encoder)
 {
        FLAC__bool error = false;
 
-       FLAC__ASSERT(0 != encoder);
+       if (encoder == NULL)
+               return false;
+
        FLAC__ASSERT(0 != encoder->private_);
        FLAC__ASSERT(0 != encoder->protected_);