From 43ecb6431077ff54e9df27f71737e6e96d6c039f Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
Date: Tue, 21 Aug 2018 14:46:43 +0800
Subject: [PATCH] From 5f47b63e9c971e6391590caf00a0f2a5ed612e67 Mon Sep 17
 00:00:00 2001 From: Erik de Castro Lopo <erikd@mega-nerd.com> Date: Sat, 8
 Apr 2017 18:34:49 +1000 Subject: [PATCH] stream_decoder.c: Fix a memory leak

Leak reported by Secunia Research.

Upstream-Status: Backport[https://git.xiph.org/?p=flac.git;a=commit;
                 h=4f47b63e9c971e6391590caf00a0f2a5ed612e67]

Update patch to version 1.3.2
CVE: CVE-2017-6888

Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
 src/libFLAC/stream_decoder.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/libFLAC/stream_decoder.c b/src/libFLAC/stream_decoder.c
index d364b0c..ebf93da 100644
--- a/src/libFLAC/stream_decoder.c
+++ b/src/libFLAC/stream_decoder.c
@@ -1759,6 +1759,9 @@ FLAC__bool read_metadata_vorbiscomment_(FLAC__StreamDecoder *decoder, FLAC__Stre
 					}
 					memset (obj->comments[i].entry, 0, obj->comments[i].length) ;
 					if (!FLAC__bitreader_read_byte_block_aligned_no_crc(decoder->private_->input, obj->comments[i].entry, obj->comments[i].length)) {
+						/* Current i-th entry is bad, so we delete it. */\
+						free (obj->comments[i].entry) ;
+						obj->comments[i].entry = NULL ;						
 						obj->num_comments = i;
 						goto skip;
 					}
-- 
2.7.4

