Loading changes/bug1522 0 → 100644 +3 −0 Changes for changes/bug1522: 3 added lines, 0 removed lines. Original line number Diff line number Diff line o Minor bugfixes - Treat an unset $HOME like an empty $HOME. Fixes bug 1522; bugfix on tor-0.0.8pre1. src/common/util.c +6 −10 Changes for src/common/util.c: 6 added lines, 10 removed lines. Original line number Diff line number Diff line Loading @@ -2317,18 +2317,18 @@ expand_filename(const char *filename) return tor_strdup(filename); #else if (*filename == '~') { size_t len; char *home, *result; char *home, *result=NULL; const char *rest; if (filename[1] == '/' || filename[1] == '\0') { home = getenv("HOME"); if (!home) { log_warn(LD_CONFIG, "Couldn't find $HOME environment variable while " "expanding \"%s\"", filename); return NULL; } "expanding \"%s\"; defaulting to \"\".", filename); home = tor_strdup(""); } else { home = tor_strdup(home); } rest = strlen(filename)>=2?(filename+2):""; } else { #ifdef HAVE_PWD_H Loading @@ -2355,11 +2355,7 @@ expand_filename(const char *filename) if (strlen(home)>1 && !strcmpend(home,PATH_SEPARATOR)) { home[strlen(home)-1] = '\0'; } /* Plus one for /, plus one for NUL. * Round up to 16 in case we can't do math. */ len = strlen(home)+strlen(rest)+16; result = tor_malloc(len); tor_snprintf(result,len,"%s"PATH_SEPARATOR"%s",home,rest); tor_asprintf(&result,"%s"PATH_SEPARATOR"%s",home,rest); tor_free(home); return result; } else { Loading Loading
changes/bug1522 0 → 100644 +3 −0 Changes for changes/bug1522: 3 added lines, 0 removed lines. Original line number Diff line number Diff line o Minor bugfixes - Treat an unset $HOME like an empty $HOME. Fixes bug 1522; bugfix on tor-0.0.8pre1.
src/common/util.c +6 −10 Changes for src/common/util.c: 6 added lines, 10 removed lines. Original line number Diff line number Diff line Loading @@ -2317,18 +2317,18 @@ expand_filename(const char *filename) return tor_strdup(filename); #else if (*filename == '~') { size_t len; char *home, *result; char *home, *result=NULL; const char *rest; if (filename[1] == '/' || filename[1] == '\0') { home = getenv("HOME"); if (!home) { log_warn(LD_CONFIG, "Couldn't find $HOME environment variable while " "expanding \"%s\"", filename); return NULL; } "expanding \"%s\"; defaulting to \"\".", filename); home = tor_strdup(""); } else { home = tor_strdup(home); } rest = strlen(filename)>=2?(filename+2):""; } else { #ifdef HAVE_PWD_H Loading @@ -2355,11 +2355,7 @@ expand_filename(const char *filename) if (strlen(home)>1 && !strcmpend(home,PATH_SEPARATOR)) { home[strlen(home)-1] = '\0'; } /* Plus one for /, plus one for NUL. * Round up to 16 in case we can't do math. */ len = strlen(home)+strlen(rest)+16; result = tor_malloc(len); tor_snprintf(result,len,"%s"PATH_SEPARATOR"%s",home,rest); tor_asprintf(&result,"%s"PATH_SEPARATOR"%s",home,rest); tor_free(home); return result; } else { Loading