Fix dodgy memory management

db4
Slava Pestov 2008-02-03 14:51:35 -06:00
parent 9d0d371efc
commit 62bbb0597e
3 changed files with 2 additions and 9 deletions

3
vm/os-genunix.c Normal file → Executable file
View File

@ -21,7 +21,8 @@ const char *default_image_path(void)
if(!path)
return "factor.image";
char *new_path = safe_realloc(path,PATH_MAX + strlen(SUFFIX) + 1);
char *new_path = safe_malloc(PATH_MAX + strlen(SUFFIX) + 1);
memcpy(new_path,path,strlen(path) + 1);
strcat(new_path,SUFFIX);
return new_path;
}

7
vm/utilities.c Normal file → Executable file
View File

@ -8,13 +8,6 @@ void *safe_malloc(size_t size)
return ptr;
}
void *safe_realloc(const void *ptr, size_t size)
{
void *new_ptr = realloc((void *)ptr,size);
if(!new_ptr) fatal_error("Out of memory in safe_realloc", 0);
return new_ptr;
}
F_CHAR *safe_strdup(const F_CHAR *str)
{
F_CHAR *ptr = STRDUP(str);

1
vm/utilities.h Normal file → Executable file
View File

@ -1,3 +1,2 @@
void *safe_malloc(size_t size);
void *safe_realloc(const void *ptr, size_t size);
F_CHAR *safe_strdup(const F_CHAR *str);