[Libguestfs] [PATCH] dib: handle unsetting functions in environment

John Eckersberg jeckersb at redhat.com
Wed Aug 12 14:33:00 UTC 2015


If a function name, with its trailing parentheses, is in the
environment , trying to unset it will error out with a message of "not
a valid identifier".  In this case, try to unset it again with the -f
option which can handle the parentheses in the supplied identifier.
---
 dib/dib.ml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dib/dib.ml b/dib/dib.ml
index d730527..519da51 100644
--- a/dib/dib.ml
+++ b/dib/dib.ml
@@ -283,7 +283,7 @@ if [ -z \"$preserve_env\" ]; then
   for envvar in `env | grep '^\\w' | cut -d= -f1`; do
     case \"$envvar\" in
       PATH | USER | USERNAME | HOSTNAME | TERM | LANG | HOME | SHELL | LOGNAME ) ;;
-      *) unset $envvar ;;
+      *) unset $envvar || unset -f $envvar;;
     esac
   done
 fi
-- 
2.4.3




More information about the Libguestfs mailing list