You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
1.2 KiB
30 lines
1.2 KiB
3 months ago
|
From 4db34f73d461b973867ddaf18bf690219229cd7a Mon Sep 17 00:00:00 2001
|
||
|
From: Carlos Santos <casantos@redhat.com>
|
||
|
Date: Thu, 25 Jul 2024 18:39:59 -0300
|
||
|
Subject: [PATCH] vncsession: use /bin/sh if the user shell is not set
|
||
|
|
||
|
An empty shell field in the password file is valid, although not common.
|
||
|
Use /bin/sh in this case, as documented in the passwd(5) man page, since
|
||
|
the vncserver script requires a non-empty SHELL environment variable.
|
||
|
|
||
|
Fixes issue #1786.
|
||
|
|
||
|
Signed-off-by: Carlos Santos <casantos@redhat.com>
|
||
|
---
|
||
|
unix/vncserver/vncsession.c | 2 +-
|
||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/unix/vncserver/vncsession.c b/unix/vncserver/vncsession.c
|
||
|
index 1ee096c7c..98a0432aa 100644
|
||
|
--- a/unix/vncserver/vncsession.c
|
||
|
+++ b/unix/vncserver/vncsession.c
|
||
|
@@ -545,7 +545,7 @@ run_script(const char *username, const char *display, char **envp)
|
||
|
|
||
|
// Set up some basic environment for the script
|
||
|
setenv("HOME", pwent->pw_dir, 1);
|
||
|
- setenv("SHELL", pwent->pw_shell, 1);
|
||
|
+ setenv("SHELL", *pwent->pw_shell != '\0' ? pwent->pw_shell : "/bin/sh", 1);
|
||
|
setenv("LOGNAME", pwent->pw_name, 1);
|
||
|
setenv("USER", pwent->pw_name, 1);
|
||
|
setenv("USERNAME", pwent->pw_name, 1);
|