Fix dodgy memory management
parent
9d0d371efc
commit
62bbb0597e
|
@ -21,7 +21,8 @@ const char *default_image_path(void)
|
||||||
if(!path)
|
if(!path)
|
||||||
return "factor.image";
|
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);
|
strcat(new_path,SUFFIX);
|
||||||
return new_path;
|
return new_path;
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,13 +8,6 @@ void *safe_malloc(size_t size)
|
||||||
return ptr;
|
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 *safe_strdup(const F_CHAR *str)
|
||||||
{
|
{
|
||||||
F_CHAR *ptr = STRDUP(str);
|
F_CHAR *ptr = STRDUP(str);
|
||||||
|
|
|
@ -1,3 +1,2 @@
|
||||||
void *safe_malloc(size_t size);
|
void *safe_malloc(size_t size);
|
||||||
void *safe_realloc(const void *ptr, size_t size);
|
|
||||||
F_CHAR *safe_strdup(const F_CHAR *str);
|
F_CHAR *safe_strdup(const F_CHAR *str);
|
||||||
|
|
Loading…
Reference in New Issue