mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
r15320@catbus: nickm | 2007-09-24 11:49:09 -0400
Backport r11332: fix a user-triggerable segfault in expand_filename("~").
svn:r11608
This commit is contained in:
@@ -10,6 +10,8 @@ Changes in version 0.1.2.18 - 2007-??-??
|
||||
- When generating information telling us how to extend to a given
|
||||
router, do not try to include the nickname if it is absent. (Resolves
|
||||
bug 467.)
|
||||
- Fix a user-triggerable segfault in expand_filename(). (There isn't
|
||||
a way to trigger this remotely.)
|
||||
|
||||
o Minor bugfixes (controller):
|
||||
- When sending a status event to the controller telling it that an
|
||||
|
||||
+1
-1
@@ -25,4 +25,4 @@ Backport for 0.1.2.x once better tested:
|
||||
- r11499, r11500, r11501: hidserv hexdigests rather than nicknames
|
||||
- r11548, the osx /tmp fix
|
||||
o r11293: Bulletproof code to generate extend info.
|
||||
- r11332: Fix user-triggerable segfault in expand_filename("~")
|
||||
o r11332: Fix user-triggerable segfault in expand_filename("~")
|
||||
+3
-3
@@ -1555,7 +1555,7 @@ expand_filename(const char *filename)
|
||||
return NULL;
|
||||
}
|
||||
home = tor_strdup(home);
|
||||
rest = strlen(filename)>=2?(filename+2):NULL;
|
||||
rest = strlen(filename)>=2?(filename+2):"";
|
||||
} else {
|
||||
#ifdef HAVE_PWD_H
|
||||
char *username, *slash;
|
||||
@@ -1570,7 +1570,7 @@ expand_filename(const char *filename)
|
||||
return NULL;
|
||||
}
|
||||
tor_free(username);
|
||||
rest = slash ? (slash+1) : NULL;
|
||||
rest = slash ? (slash+1) : "";
|
||||
#else
|
||||
log_warn(LD_CONFIG, "Couldn't expend homedir on system without pwd.h");
|
||||
return tor_strdup(filename);
|
||||
@@ -1585,7 +1585,7 @@ expand_filename(const char *filename)
|
||||
* 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/%s",home,rest?rest:"");
|
||||
tor_snprintf(result,len,"%s/%s",home,rest);
|
||||
tor_free(home);
|
||||
return result;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user