[haiku-commits] haiku: hrev52844 - src/add-ons/media/plugins/ffmpeg

  • From: Barrett17 <b.vitruvio@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 7 Feb 2019 06:22:14 -0500 (EST)

hrev52844 adds 1 changeset to branch 'master'
old head: f33f4868feabef0fbd3b5aaff459e23eedfb7b5a
new head: f9c74ffa6fad564e58a12f61f57dd41e0d66e642
overview: 
https://git.haiku-os.org/haiku/log/?qt=range&q=f9c74ffa6fad+%5Ef33f4868feab

----------------------------------------------------------------------------

f9c74ffa6fad: add-ons/media/plugins/ffmpeg: Fix PVS 2355
  
  Fix memory leak when realloc() fails.
  
  Change-Id: I12b57fecbd7f9645f15afb9d0f9a6db937a5ec09
  Reviewed-on: https://review.haiku-os.org/c/1014
  Reviewed-by: Barrett17 <b.vitruvio@xxxxxxxxx>

                                      [ Murai Takashi <tmurai01@xxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev52844
Commit:      f9c74ffa6fad564e58a12f61f57dd41e0d66e642
URL:         https://git.haiku-os.org/haiku/commit/?id=f9c74ffa6fad
Author:      Murai Takashi <tmurai01@xxxxxxxxx>
Date:        Tue Jan 29 20:16:57 2019 UTC
Committer:   Barrett17 <b.vitruvio@xxxxxxxxx>
Commit-Date: Thu Feb  7 11:22:11 2019 UTC

----------------------------------------------------------------------------

1 file changed, 6 insertions(+), 2 deletions(-)
src/add-ons/media/plugins/ffmpeg/AVCodecDecoder.cpp | 8 ++++++--

----------------------------------------------------------------------------

diff --git a/src/add-ons/media/plugins/ffmpeg/AVCodecDecoder.cpp 
b/src/add-ons/media/plugins/ffmpeg/AVCodecDecoder.cpp
index 2d15d87955..f5641fa7b6 100644
--- a/src/add-ons/media/plugins/ffmpeg/AVCodecDecoder.cpp
+++ b/src/add-ons/media/plugins/ffmpeg/AVCodecDecoder.cpp
@@ -1456,11 +1456,15 @@ status_t
 AVCodecDecoder::_CopyChunkToChunkBufferAndAddPadding(const void* chunk,
        size_t chunkSize)
 {
-       fChunkBuffer = static_cast<uint8_t*>(realloc(fChunkBuffer,
+       uint8_t* tmpBuffer = static_cast<uint8_t*>(realloc(fChunkBuffer,
                chunkSize + AV_INPUT_BUFFER_PADDING_SIZE));
-       if (fChunkBuffer == NULL) {
+       if (tmpBuffer == NULL) {
+               free(fChunkBuffer);
+               fChunkBuffer = NULL;
                fChunkBufferSize = 0;
                return B_NO_MEMORY;
+       } else {
+               fChunkBuffer = tmpBuffer;
        }
 
        memcpy(fChunkBuffer, chunk, chunkSize);


Other related posts:

  • » [haiku-commits] haiku: hrev52844 - src/add-ons/media/plugins/ffmpeg - Barrett17