Blame SOURCES/libsndfile-1.0.31-ced91d7b.patch

1c438d
From ced91d7b971be6173b604154c39279ce90ad87cc Mon Sep 17 00:00:00 2001
1c438d
From: yuan <ssspeed00@gmail.com>
1c438d
Date: Tue, 20 Apr 2021 16:16:32 +0800
1c438d
Subject: [PATCH] flac: Fix improper buffer reusing (#732)
1c438d
1c438d
---
1c438d
 src/flac.c | 4 ++++
1c438d
 1 file changed, 4 insertions(+)
1c438d
1c438d
diff --git a/src/flac.c b/src/flac.c
1c438d
index 64d0172e6..e33204505 100644
1c438d
--- a/src/flac.c
1c438d
+++ b/src/flac.c
1c438d
@@ -948,7 +948,11 @@ flac_read_loop (SF_PRIVATE *psf, unsigned len)
1c438d
 	/* Decode some more. */
1c438d
 	while (pflac->pos < pflac->len)
1c438d
 	{	if (FLAC__stream_decoder_process_single (pflac->fsd) == 0)
1c438d
+		{	psf_log_printf (psf, "FLAC__stream_decoder_process_single returned false\n") ;
1c438d
+			/* Current frame is busted, so NULL the pointer. */
1c438d
+			pflac->frame = NULL ;
1c438d
 			break ;
1c438d
+			} ;
1c438d
 		state = FLAC__stream_decoder_get_state (pflac->fsd) ;
1c438d
 		if (state >= FLAC__STREAM_DECODER_END_OF_STREAM)
1c438d
 		{	psf_log_printf (psf, "FLAC__stream_decoder_get_state returned %s\n", FLAC__StreamDecoderStateString [state]) ;