Kaynağa Gözat

Try to shrink returned buffer's allocation.

Ryan C. Gordon 16 yıl önce
ebeveyn
işleme
43207273dd
1 değiştirilmiş dosya ile 8 ekleme ve 0 silme
  1. 8 0
      src/platform_unix.c

+ 8 - 0
src/platform_unix.c

@@ -261,6 +261,14 @@ char *__PHYSFS_platformCalcBaseDir(const char *argv0)
         allocator.Free(envr);
     } /* if */
 
+    if (retval != NULL)
+    {
+        /* try to shrink buffer... */
+        char *ptr = (char *) allocator.Realloc(retval, strlen(retval) + 1);
+        if (ptr != NULL)
+            retval = ptr;  /* oh well if it failed. */
+    } /* if */
+
     return(retval);
 } /* __PHYSFS_platformCalcBaseDir */