mirror of git://git.sv.gnu.org/nano.git
in get_real_dir_from_tilde(), fix segfault when dealing with directory
names that begin with "~", but that aren't users' home directories git-svn-id: svn://svn.savannah.gnu.org/nano/branches/nano_2_0_branch/nano@4072 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
This commit is contained in:
parent
c448a6da45
commit
4169f7f2c2
|
@ -1,4 +1,9 @@
|
|||
CVS code -
|
||||
- files.c:
|
||||
get_real_dir_from_tilde()
|
||||
- Fix segfault when dealing with directory names that begin with
|
||||
"~", but that aren't users' home directories. (DLR, found by
|
||||
Justin Fletcher)
|
||||
- doc/syntax/asm.nanorc, doc/syntax/c.nanorc, doc/syntax/sh.nanorc:
|
||||
- Copy the regex that highlights trailing whitespace from
|
||||
doc/syntax/java.nanorc to these files, as it's also useful in
|
||||
|
|
|
@ -1979,7 +1979,7 @@ char *real_dir_from_tilde(const char *buf)
|
|||
|
||||
if (buf[0] == '~') {
|
||||
size_t i;
|
||||
const char *tilde_dir;
|
||||
const char *tilde_dir = NULL;
|
||||
|
||||
/* Figure out how much of the str we need to compare. */
|
||||
for (i = 1; buf[i] != '/' && buf[i] != '\0'; i++)
|
||||
|
@ -1997,7 +1997,8 @@ char *real_dir_from_tilde(const char *buf)
|
|||
} while (userdata != NULL &&
|
||||
strncmp(userdata->pw_name, buf + 1, i - 1) != 0);
|
||||
endpwent();
|
||||
tilde_dir = userdata->pw_dir;
|
||||
if (userdata != NULL)
|
||||
tilde_dir = userdata->pw_dir;
|
||||
}
|
||||
|
||||
if (tilde_dir != NULL) {
|
||||
|
|
Loading…
Reference in New Issue