Selaa lähdekoodia

Fixed stack smashing in newly-aligned __PHYSFS_smallAlloc().

Ryan C. Gordon 14 vuotta sitten
vanhempi
commit
5ad70036b2
1 muutettua tiedostoa jossa 3 lisäystä ja 2 poistoa
  1. 3 2
      src/physfs_internal.h

+ 3 - 2
src/physfs_internal.h

@@ -80,8 +80,9 @@ extern "C" {
 void *__PHYSFS_initSmallAlloc(void *ptr, PHYSFS_uint64 len);
 
 #define __PHYSFS_smallAlloc(bytes) ( \
-    __PHYSFS_initSmallAlloc((((bytes) < __PHYSFS_SMALLALLOCTHRESHOLD) ? \
-                             alloca((size_t)((bytes)+1)) : NULL), (bytes)) \
+    __PHYSFS_initSmallAlloc( \
+        (((bytes) < __PHYSFS_SMALLALLOCTHRESHOLD) ? \
+            alloca((size_t)((bytes)+sizeof(void*))) : NULL), (bytes)) \
 )
 
 void __PHYSFS_smallFree(void *ptr);