From d7226387a9fb07ec3de3913f8128a31ba95deeb2 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Tue, 20 Feb 2007 17:23:51 +0100 Subject: * src/env.c (main): When invoked with no arguments (i.e. when printing the environment), use a local variable to iterate through the global "environ" array, rather than "environ" itself. This is solely to avoid changing the environment for an LD_PRELOAD-substituted "puts" or "exit" function. Tiny patch by Harvey Eneman. See . * THANKS: Update. --- src/env.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/env.c b/src/env.c index 7283926de..d95ebfd7e 100644 --- a/src/env.c +++ b/src/env.c @@ -1,5 +1,5 @@ /* env - run a program in a modified environment - Copyright (C) 1986, 1991-2005 Free Software Foundation, Inc. + Copyright (C) 1986, 1991-2005, 2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -189,8 +189,9 @@ main (int argc, char **argv) /* If no program is specified, print the environment and exit. */ if (argc <= optind) { - while (*environ) - puts (*environ++); + char *const *e = environ; + while (*e) + puts (*e++); exit (EXIT_SUCCESS); } -- cgit v1.2.3-54-g00ecf