vtysh: Use HOME environment variable to get homedir and only fallback to passed entry if no HOME is defined

Snap packages have a local HOME defined inside the SNAP container, but don't get access to passwd entry.

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
This commit is contained in:
Martin Winter 2017-01-21 02:48:06 +07:00
parent 87d79a9f79
commit f38e9e49f5

View File

@ -218,7 +218,12 @@ char *
vtysh_get_home (void) vtysh_get_home (void)
{ {
struct passwd *passwd; struct passwd *passwd;
char * homedir;
if ((homedir = getenv("HOME")) != 0)
return homedir;
/* Fallback if HOME is undefined */
passwd = getpwuid (getuid ()); passwd = getpwuid (getuid ());
return passwd ? passwd->pw_dir : NULL; return passwd ? passwd->pw_dir : NULL;