From c382cea176bf9308418ffff370460a68dc4fe5db Mon Sep 17 00:00:00 2001 From: Martijn Dekker Date: Fri, 25 Sep 2020 23:46:24 +0200 Subject: [PATCH] fix non-null pointer check (re: b7932e87) src/cmd/ksh93/sh/xec.c: sh_funct(): - The np->nvalue.rp pointer was dereferenced before the check that it is non-null. Do this check before dereferencing it. --- src/cmd/ksh93/sh/xec.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/cmd/ksh93/sh/xec.c b/src/cmd/ksh93/sh/xec.c index 72c7068be5db..a5c57a0a8a4f 100644 --- a/src/cmd/ksh93/sh/xec.c +++ b/src/cmd/ksh93/sh/xec.c @@ -3234,11 +3234,14 @@ static void sh_funct(Shell_t *shp,Namval_t *np,int argn, char *argv[],struct arg nv_putval(SH_FUNNAMENOD,fname,NV_NOFREE); nv_putval(SH_PATHNAMENOD,shp->st.filename,NV_NOFREE); shp->pipepid = pipepid; - np->nvalue.rp->running -= 2; - if(np->nvalue.rp && np->nvalue.rp->running==1) + if(np->nvalue.rp) { - np->nvalue.rp->running = 0; - _nv_unset(np, NV_RDONLY); + np->nvalue.rp->running -= 2; + if(np->nvalue.rp->running==1) + { + np->nvalue.rp->running = 0; + _nv_unset(np, NV_RDONLY); + } } }