ソースを参照

malloc: check that a valid pointer is returned from a non-big block

Ioannis Koutras 12 年 前
コミット
e40ad8c107
共有1 個のファイルを変更した5 個の追加0 個の削除を含む
  1. 5 0
      src/malloc.c

+ 5 - 0
src/malloc.c

@@ -26,6 +26,7 @@
 #include "dmmlib/dmmlib.h"
 
 #include <inttypes.h>
+#include <assert.h>
 
 #include "dmmlib/lists.h"
 
@@ -63,6 +64,10 @@ void * malloc(size_t size) {
         unlock_raw_block(raw_block);
 
         if(ptr != NULL) {
+            /* Check that a valid pointer has been returned */
+            assert(((uintptr_t) raw_block < (uintptr_t) ptr) &&
+                    ((uintptr_t) ptr < (uintptr_t) raw_block +
+                     raw_block->size));
             break;
         }
     }