freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freetype2] master bd28952: [base] Don't zero out allocated memory twice


From: Werner LEMBERG
Subject: [freetype2] master bd28952: [base] Don't zero out allocated memory twice (#51816).
Date: Tue, 22 Aug 2017 02:42:32 -0400 (EDT)

branch: master
commit bd28952e23bcd268a623ea5202e1cde4a92defe4
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>

    [base] Don't zero out allocated memory twice (#51816).
    
    Patch applied from bug report.
    
    * src/base/ftutil.c (ft_mem_qrealloc): Use low-level allocation to
    avoid unnecessary overhead.
---
 ChangeLog         |  9 +++++++++
 src/base/ftutil.c | 10 ++++++----
 2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 1031952..c9bdca4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2017-08-22  Werner Lemberg  <address@hidden>
 
+       [base] Don't zero out allocated memory twice (#51816).
+
+       Patch applied from bug report.
+
+       * src/base/ftutil.c (ft_mem_qrealloc): Use low-level allocation to
+       avoid unnecessary overhead.
+
+2017-08-22  Werner Lemberg  <address@hidden>
+
        [truetype] Integer overflow.
 
        Changes triggered by
diff --git a/src/base/ftutil.c b/src/base/ftutil.c
index dccc209..7bd5bee 100644
--- a/src/base/ftutil.c
+++ b/src/base/ftutil.c
@@ -135,7 +135,7 @@
       ft_mem_free( memory, block );
       block = NULL;
     }
-    else if ( new_count > FT_INT_MAX/item_size )
+    else if ( new_count > FT_INT_MAX / item_size )
     {
       error = FT_THROW( Array_Too_Large );
     }
@@ -143,13 +143,15 @@
     {
       FT_ASSERT( !block );
 
-      block = ft_mem_alloc( memory, new_count*item_size, &error );
+      block = memory->alloc( memory, new_count * item_size );
+      if ( block == NULL )
+        error = FT_THROW( Out_Of_Memory );
     }
     else
     {
       FT_Pointer  block2;
-      FT_Long     cur_size = cur_count*item_size;
-      FT_Long     new_size = new_count*item_size;
+      FT_Long     cur_size = cur_count * item_size;
+      FT_Long     new_size = new_count * item_size;
 
 
       block2 = memory->realloc( memory, cur_size, new_size, block );



reply via email to

[Prev in Thread] Current Thread [Next in Thread]