Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37893737
en ru br
ALT Linux repos
S:1.11.23-alt9
5.0: 1.11.23-alt1
4.1: 1.11.22-alt3
4.0: 1.11.22-alt2
+updates:1.11.22-alt2
3.0: 1.11.20-alt1

Group :: Development/Other
RPM: cvs

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: cvs-1.11.23-alt-env.patch
Download


--- cvs-1.11.23/src/server.c
+++ cvs-1.11.23/src/server.c
@@ -5509,23 +5509,19 @@ error 0 %s: no such system user\n", username);
 #endif
 
 #if HAVE_PUTENV
-    /* Set LOGNAME, USER and CVS_USER in the environment, in case they
+    /* Set HOME, LOGNAME, USER and CVS_USER in the environment, in case they
        are already set to something else.  */
     {
 	char *env;
 
-	env = xmalloc (sizeof "LOGNAME=" + strlen (username));
-	(void) sprintf (env, "LOGNAME=%s", username);
-	(void) putenv (env);
-
-	env = xmalloc (sizeof "USER=" + strlen (username));
-	(void) sprintf (env, "USER=%s", username);
-	(void) putenv (env);
+	putenv (xasprintf (&env, "HOME=%s", pw->pw_dir ?: "/"));
+	putenv (xasprintf (&env, "USER=%s", username));
 
 #ifdef AUTH_SERVER_SUPPORT
-	env = xmalloc (sizeof "CVS_USER=" + strlen (CVS_Username));
-	(void) sprintf (env, "CVS_USER=%s", CVS_Username);
-	(void) putenv (env);
+	putenv (xasprintf (&env, "LOGNAME=%s", CVS_Username));
+	putenv (xasprintf (&env, "CVS_USER=%s", CVS_Username));
+#else
+	putenv (xasprintf (&env, "LOGNAME=%s", username));
 #endif
     }
 #endif /* HAVE_PUTENV */
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin