[haiku-commits] haiku: hrev52846 - src/add-ons/translators/wonderbrush/support

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

hrev52846 adds 1 changeset to branch 'master'
old head: 7db28d3803bf8ff39391f65cd38de2bfda5bb9ae
new head: 0ca56bdecd3bcf9de5793c3ab8347a2ee6302c88
overview: 
https://git.haiku-os.org/haiku/log/?qt=range&q=0ca56bdecd3b+%5E7db28d3803bf

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

0ca56bdecd3b: translators/wonderbrush: Fix PVS 2320
  
  Fix memory leak when realloc() fails.
  
  Change-Id: I9665b1e618e675e324eb75aec586a41181957ced
  Reviewed-on: https://review.haiku-os.org/c/1015
  Reviewed-by: Barrett17 <b.vitruvio@xxxxxxxxx>

                                      [ Murai Takashi <tmurai01@xxxxxxxxx> ]

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

Revision:    hrev52846
Commit:      0ca56bdecd3bcf9de5793c3ab8347a2ee6302c88
URL:         https://git.haiku-os.org/haiku/commit/?id=0ca56bdecd3b
Author:      Murai Takashi <tmurai01@xxxxxxxxx>
Date:        Wed Jan 30 10:51:57 2019 UTC
Committer:   Barrett17 <b.vitruvio@xxxxxxxxx>
Commit-Date: Thu Feb  7 11:43:07 2019 UTC

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

1 file changed, 11 insertions(+), 5 deletions(-)
.../wonderbrush/support/bitmap_compression.cpp       | 16 +++++++++++-----

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

diff --git a/src/add-ons/translators/wonderbrush/support/bitmap_compression.cpp 
b/src/add-ons/translators/wonderbrush/support/bitmap_compression.cpp
index 45e263d253..14a4714f87 100644
--- a/src/add-ons/translators/wonderbrush/support/bitmap_compression.cpp
+++ b/src/add-ons/translators/wonderbrush/support/bitmap_compression.cpp
@@ -36,11 +36,17 @@ compress_bitmap_zlib(const BBitmap* bitmap, void** buffer, 
unsigned* size)
                                                                srcLength,
                                                                3);
                        if (ret == Z_OK) {
-//printf("zlib compressed %ld bytes bitmap into %d bytes (%f%%)\n", srcLength, 
*size, ((float)*size / (float)srcLength) * 100.0);
-                               if ((unsigned)ceilf(srcLength * 1.01) + 12 != 
*size)
-                                       *buffer = realloc(*buffer, *size);
-                               result = true;
-                       } else {
+// printf("zlib compressed %ld bytes bitmap into %d bytes (%f%%)\n",
+//     srcLength, *size, ((float)*size / (float)srcLength) * 100.0);
+                               if ((unsigned)ceilf(srcLength * 1.01) + 12 != 
*size) {
+                                       void* tmpBuffer = realloc(*buffer, 
*size);
+                                       if (tmpBuffer) {
+                                               *buffer = tmpBuffer;
+                                               result = true;
+                                       }
+                               }
+                       }
+                       if (ret != Z_OK || !result) {
                                // error compressing
                                free(*buffer);
                                *buffer = NULL;


Other related posts:

  • » [haiku-commits] haiku: hrev52846 - src/add-ons/translators/wonderbrush/support - Barrett17