summaryrefslogtreecommitdiffstats
path: root/meta/recipes-multimedia/flac/flac/CVE-2021-0561.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-multimedia/flac/flac/CVE-2021-0561.patch')
-rw-r--r--meta/recipes-multimedia/flac/flac/CVE-2021-0561.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/meta/recipes-multimedia/flac/flac/CVE-2021-0561.patch b/meta/recipes-multimedia/flac/flac/CVE-2021-0561.patch
new file mode 100644
index 0000000000..b48663ae42
--- /dev/null
+++ b/meta/recipes-multimedia/flac/flac/CVE-2021-0561.patch
@@ -0,0 +1,41 @@
1From e1575e4a7c5157cbf4e4a16dbd39b74f7174c7be Mon Sep 17 00:00:00 2001
2From: Neelkamal Semwal <neelkamal.semwal@ittiam.com>
3Date: Fri, 18 Dec 2020 22:28:36 +0530
4Subject: [PATCH] libFlac: Exit at EOS in verify mode
5
6When verify mode is enabled, once decoder flags end of stream,
7encode processing is considered complete.
8
9CVE-2021-0561
10
11Signed-off-by: Ralph Giles <giles@thaumas.net>
12
13Upstream-Status: Backport
14CVE: CVE-2021-0561
15
16Reference to upstream patch:
17https://github.com/xiph/flac/commit/e1575e4a7c5157cbf4e4a16dbd39b74f7174c7be
18
19Signed-off-by: Li Wang <li.wang@windriver.com>
20---
21 src/libFLAC/stream_encoder.c | 4 +++-
22 1 file changed, 3 insertions(+), 1 deletion(-)
23
24diff --git a/src/libFLAC/stream_encoder.c b/src/libFLAC/stream_encoder.c
25index 74387ec..8bb0ef3 100644
26--- a/src/libFLAC/stream_encoder.c
27+++ b/src/libFLAC/stream_encoder.c
28@@ -2610,7 +2610,9 @@ FLAC__bool write_bitbuffer_(FLAC__StreamEncoder *encoder, uint32_t samples, FLAC
29 encoder->private_->verify.needs_magic_hack = true;
30 }
31 else {
32- if(!FLAC__stream_decoder_process_single(encoder->private_->verify.decoder)) {
33+ if(!FLAC__stream_decoder_process_single(encoder->private_->verify.decoder)
34+ || (!is_last_block
35+ && (FLAC__stream_encoder_get_verify_decoder_state(encoder) == FLAC__STREAM_DECODER_END_OF_STREAM))) {
36 FLAC__bitwriter_release_buffer(encoder->private_->frame);
37 FLAC__bitwriter_clear(encoder->private_->frame);
38 if(encoder->protected_->state != FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA)
39--
402.23.0
41