File fix-crash-in-sftp-module.patch of Package proftpd.39616
diffcontrib/mod_sftp/auth.c b/contrib/mod_sftp/auth.c
index 8db46c4e9..333606a43 100644
--- contrib/mod_sftp/auth.c
+++ contrib/mod_sftp/auth.c
@@ -400,6 +400,7 @@ static int setup_env(pool *p, const char *user) {
}
session.user = pstrdup(p, pw->pw_name);
+ session.user_homedir = pstrdup(p, pw->pw_dir);
session.group = pstrdup(p, pr_auth_gid2name(p, pw->pw_gid));
session.login_uid = pw->pw_uid;
@@ -716,10 +717,18 @@ static int setup_env(pool *p, const char *user) {
session.user = pstrdup(session.pool, session.user);
+ if (session.user_homedir != NULL) {
+ session.user_homedir = pstrdup(session.pool, session.user_homedir);
+ }
+
if (session.group != NULL) {
session.group = pstrdup(session.pool, session.group);
}
+ if (session.gids != NULL) {
+ session.gids = copy_array(session.pool, session.gids);
+ }
+
session.groups = copy_array_str(session.pool, session.groups);
pr_resolve_fs_map();