[PATCH] configure: unset harmful environment variables

Paolo Bonzini posted 1 patch 10 months, 4 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230525154718.355734-1-pbonzini@redhat.com
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, "Alex Bennée" <alex.bennee@linaro.org>, Thomas Huth <thuth@redhat.com>
configure | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
[PATCH] configure: unset harmful environment variables
Posted by Paolo Bonzini 10 months, 4 weeks ago
Apart from CLICOLOR_FORCE and GREP_OPTIONS, there are other variables
that are listed in the Autoconf manual.  While Autoconf neutralizes them
very early, and assumes it does not (yet) run in a shell that has "unset",
QEMU assumes that the user invoked configure under a POSIX shell, and
therefore can simply use "unset" to clear them.

CDPATH is particularly nasty because it messes up "cd ... && pwd".

Reported-by: Juan Quintela <quintela@redhat.com>
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/configure b/configure
index db1f02346e68..42861ebc6e22 100755
--- a/configure
+++ b/configure
@@ -4,9 +4,8 @@
 #
 
 # Unset some variables known to interfere with behavior of common tools,
-# just as autoconf does.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
+# just as autoconf does.  Unlike autoconf, we assume that unset exists.
+unset CLICOLOR_FORCE GREP_OPTIONS BASH_ENV ENV MAIL MAILPATH CDPATH
 
 # Don't allow CCACHE, if present, to use cached results of compile tests!
 export CCACHE_RECACHE=yes
-- 
2.40.1
Re: [PATCH] configure: unset harmful environment variables
Posted by Juan Quintela 10 months, 4 weeks ago
Paolo Bonzini <pbonzini@redhat.com> wrote:
> Apart from CLICOLOR_FORCE and GREP_OPTIONS, there are other variables
> that are listed in the Autoconf manual.  While Autoconf neutralizes them
> very early, and assumes it does not (yet) run in a shell that has "unset",
> QEMU assumes that the user invoked configure under a POSIX shell, and
> therefore can simply use "unset" to clear them.
>
> CDPATH is particularly nasty because it messes up "cd ... && pwd".

It is weird that nobody noticed it.  I have been using that CDPATH since
last century.  Yeap, that makes me definitely old.

> Reported-by: Juan Quintela <quintela@redhat.com>
> Cc: qemu-stable@nongnu.org
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

Reviewed-by: Juan Quintela <quintela@redhat.com>
Tested-by: Juan Quintela <quintela@redhat.com>

Thanks very much.