[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [koffice] filters/kcells/excel/sidewinder: Free buffer on realloc
From:       "Dr. Robert Marmorstein" <robert () narnia ! homeunix ! com>
Date:       2011-08-02 9:16:39
Message-ID: 20110802091639.73CDDA60B4 () git ! kde ! org
[Download RAW message or body]

Git commit 467fcede400f0b33544171053fcbc107c8e45f67 by Dr. Robert Marmorstein.
Committed on 01/08/2011 at 17:25.
Pushed by robertm into branch 'master'.

Free buffer on realloc failure.

M  +4    -1    filters/kcells/excel/sidewinder/excel.cpp

http://commits.kde.org/koffice/467fcede400f0b33544171053fcbc107c8e45f67

diff --git a/filters/kcells/excel/sidewinder/excel.cpp b/filters/kcells/excel/sidewinder/excel.cpp
index a9ea6a8..96fbaf5 100644
--- a/filters/kcells/excel/sidewinder/excel.cpp
+++ b/filters/kcells/excel/sidewinder/excel.cpp
@@ -2425,7 +2425,10 @@ bool ExcelReader::load(Workbook* workbook, const char* filename)
 
         // verify buffer is large enough to hold the record data
         if (size > buffer_size) {
-            buffer = (unsigned char *) realloc(buffer, size);
+            unsigned char* temp = (unsigned char *) realloc(buffer, size);
+            if (!temp)
+                free(buffer);
+            buffer = temp;
             buffer_size = size;
         }
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic