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
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 */