]> git.pld-linux.org Git - packages/rdist.git/blame - rdist-environ.patch
perl -pi -e "s/pld-list\@pld.org.pl/feedback\@pld.org.pl/"
[packages/rdist.git] / rdist-environ.patch
CommitLineData
ef3b736f 1From: "David J. MacKenzie" <djm@web.us.uu.net>
2Subject: [Notice] rdist environment limit exceeded
3To: bugs@linux-mandrake.com
4Date: Sat, 15 Apr 2000 15:49:01 -0400
5
6Package: rdist
7Version: 6.1.5-10
8
9I hit an arbitrary limit on the environment size in rdist.
10I used "rdist -P rsh" to get whichever rsh comes first in my PATH (the
11krb5 rsh, which is in different directories on different machines I use).
12My environment contains more than 40 variables, and PATH doesn't
13happen to be among the first 40. Thus, rdist dies with:
14
15djm@dagger 35 $ rdist -P rsh -c /var/tmp/services catapult
16catapult: updating host catapult
17catapult: LOCAL ERROR: Unexpected input from server: "catapult: LOCAL ERROR: execlp rsh failed: No such file or directory.".
18catapult: updating of catapult finished
19
20because the PATH environment variable is not set any longer.
21
22Fix (also sent to the rdist-bugs mailing list):
23
24--- src/setargs.c.old Mon Nov 9 23:15:56 1998
25+++ src/setargs.c Sat Apr 15 15:30:49 2000
26@@ -58,10 +58,9 @@
27 * Set process argument functions
28 */
29
30-#define MAXUSERENVIRON 40
31 char **Argv = NULL;
32 char *LastArgv = NULL;
33-char *UserEnviron[MAXUSERENVIRON+1];
34+char **UserEnviron;
35
36 /*
37 * Settup things for using setproctitle()
38@@ -74,9 +73,15 @@
39 register int i;
40 extern char **environ;
41
42+ /* Count the size of the environment. */
43+ for (i = 0; envp[i] != NULL; i++)
44+ ;
45+ i++;
46+ UserEnviron = (char **) xmalloc(i * sizeof(char *));
47+
48 /* Remember the User Environment */
49
50- for (i = 0; i < MAXUSERENVIRON && envp[i] != NULL; i++)
51+ for (i = 0; envp[i] != NULL; i++)
52 UserEnviron[i] = strdup(envp[i]);
53 UserEnviron[i] = NULL;
54 environ = UserEnviron;
55
This page took 0.054263 seconds and 4 git commands to generate.