1 This patch must be applied to fakechroot SVN in order to
2 stop it from passing duplicated environment variables to
3 child processes. It is not necessary for fakechroot <= 2.8.
5 Index: src/libfakechroot.c
6 ===================================================================
7 --- src/libfakechroot.c (revision 311)
8 +++ src/libfakechroot.c (working copy)
11 char tmp[FAKECHROOT_MAXPATH], newfilename[FAKECHROOT_MAXPATH], argv0[FAKECHROOT_MAXPATH];
13 - unsigned int i, j, n;
14 + unsigned int i, j, n, len;
17 char *fakechroot_path, *fakechroot_ptr, fakechroot_buf[FAKECHROOT_MAXPATH];
18 @@ -1519,12 +1519,19 @@
22 - for (ep = envp, i = 0; *ep != NULL; ++ep, ++i) {
24 + for (ep = envp, i = 0; *ep != NULL; ++ep) {
25 + for (j = 0; j < sizeof (envkey) / sizeof (char *); j++) {
26 + len = strlen (envkey[j]);
27 + if (strncmp (*ep, envkey[j], len) == 0 && (*ep)[len] == '=')
35 /* Add our variables to newenvp */
36 - newenvp = realloc( newenvp, ((sizeenvp + 1) * sizeof(char *) + sizeof(envkey)) );
37 + newenvp = realloc( newenvp, i * sizeof(char *) + sizeof(envkey) );
38 if (newenvp == NULL) {