Commit 2aa6fc5a authored by Nick Mathewson's avatar Nick Mathewson 🐘
Browse files

Merge branch 'bug1522'

parents 50afadb7 03ea5f93
Loading
Loading
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.
+6 −10
Changes for src/common/util.c: 6 added lines, 10 removed lines.
Original line number Diff line number Diff line
@@ -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
@@ -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 {