[EVAL] Avoid using undefined handler * src/eval.c (evalbltin, evalfun): Set savehandler before calling setjmp with the possible "goto *done", where savehandler is used. Otherwise, clang warns that "Assigned value is garbage or undefined" at the point where "savehandler" is used on the RHS. Signed-off-by: Jim Meyering <meyering@redhat.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
diff --git a/ChangeLog b/ChangeLog index 768374a..70bce7e 100644 --- a/ChangeLog +++ b/ChangeLog
@@ -3,6 +3,10 @@ * Optimize dash -c "command" to avoid a fork. * Eliminate unnecessary promotion in echocmd. +2011-05-25 Jim Meyering <meyering@redhat.com> + + * Avoid using undefined handler. + 2011-05-23 Jim Meyering <meyering@redhat.com> * Avoid gcc warning: variable 'oldstackp' set but not used.
diff --git a/src/eval.c b/src/eval.c index 6e7b932..95d30f4 100644 --- a/src/eval.c +++ b/src/eval.c
@@ -897,9 +897,9 @@ int i; savecmdname = commandname; + savehandler = handler; if ((i = setjmp(jmploc.loc))) goto cmddone; - savehandler = handler; handler = &jmploc; commandname = argv[0]; argptr = argv + 1; @@ -930,11 +930,11 @@ saveparam = shellparam; savefuncline = funcline; + savehandler = handler; if ((e = setjmp(jmploc.loc))) { goto funcdone; } INTOFF; - savehandler = handler; handler = &jmploc; shellparam.malloc = 0; func->count++;