|
@@ -0,0 +1,41 @@
|
|
|
+From e1575e4a7c5157cbf4e4a16dbd39b74f7174c7be Mon Sep 17 00:00:00 2001
|
|
|
+From: Neelkamal Semwal <neelkamal.semwal@ittiam.com>
|
|
|
+Date: Fri, 18 Dec 2020 22:28:36 +0530
|
|
|
+Subject: [PATCH] libFlac: Exit at EOS in verify mode
|
|
|
+
|
|
|
+When verify mode is enabled, once decoder flags end of stream,
|
|
|
+encode processing is considered complete.
|
|
|
+
|
|
|
+CVE-2021-0561
|
|
|
+
|
|
|
+Signed-off-by: Ralph Giles <giles@thaumas.net>
|
|
|
+
|
|
|
+Upstream-Status: Backport
|
|
|
+CVE: CVE-2021-0561
|
|
|
+
|
|
|
+Reference to upstream patch:
|
|
|
+https://github.com/xiph/flac/commit/e1575e4a7c5157cbf4e4a16dbd39b74f7174c7be
|
|
|
+
|
|
|
+Signed-off-by: Li Wang <li.wang@windriver.com>
|
|
|
+---
|
|
|
+ src/libFLAC/stream_encoder.c | 4 +++-
|
|
|
+ 1 file changed, 3 insertions(+), 1 deletion(-)
|
|
|
+
|
|
|
+diff --git a/src/libFLAC/stream_encoder.c b/src/libFLAC/stream_encoder.c
|
|
|
+index 74387ec..8bb0ef3 100644
|
|
|
+--- a/src/libFLAC/stream_encoder.c
|
|
|
++++ b/src/libFLAC/stream_encoder.c
|
|
|
+@@ -2610,7 +2610,9 @@ FLAC__bool write_bitbuffer_(FLAC__StreamEncoder *encoder, uint32_t samples, FLAC
|
|
|
+ encoder->private_->verify.needs_magic_hack = true;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+- if(!FLAC__stream_decoder_process_single(encoder->private_->verify.decoder)) {
|
|
|
++ if(!FLAC__stream_decoder_process_single(encoder->private_->verify.decoder)
|
|
|
++ || (!is_last_block
|
|
|
++ && (FLAC__stream_encoder_get_verify_decoder_state(encoder) == FLAC__STREAM_DECODER_END_OF_STREAM))) {
|
|
|
+ FLAC__bitwriter_release_buffer(encoder->private_->frame);
|
|
|
+ FLAC__bitwriter_clear(encoder->private_->frame);
|
|
|
+ if(encoder->protected_->state != FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA)
|
|
|
+--
|
|
|
+2.23.0
|
|
|
+
|