From 52a9a5240ac8dc9eef1fc68c1bf4290b76fe09ae Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Sun, 29 Apr 2012 20:14:10 -0500 Subject: Move short-lived realpath buffers to the stack There is little reason here to grab 4K from the heap only to return it a few lines later. Instead, just use the stack to hold the returned value saving ourselves the malloc/free cycle. Signed-off-by: Dan McGee --- lib/libalpm/handle.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'lib/libalpm/handle.c') diff --git a/lib/libalpm/handle.c b/lib/libalpm/handle.c index 2db27fbf..816162bd 100644 --- a/lib/libalpm/handle.c +++ b/lib/libalpm/handle.c @@ -333,7 +333,7 @@ alpm_errno_t _alpm_set_directory_option(const char *value, char **storage, int must_exist) { struct stat st; - char *real = NULL; + char real[PATH_MAX]; const char *path; path = value; @@ -344,9 +344,7 @@ alpm_errno_t _alpm_set_directory_option(const char *value, if(stat(path, &st) == -1 || !S_ISDIR(st.st_mode)) { return ALPM_ERR_NOT_A_DIR; } - CALLOC(real, PATH_MAX, sizeof(char), return ALPM_ERR_MEMORY); if(!realpath(path, real)) { - free(real); return ALPM_ERR_NOT_A_DIR; } path = real; @@ -359,7 +357,6 @@ alpm_errno_t _alpm_set_directory_option(const char *value, if(!*storage) { return ALPM_ERR_MEMORY; } - free(real); return 0; } -- cgit v1.2.3-24-g4f1b