From 98c1e37d860129450619a589cf5aa8075f4e0d38 Mon Sep 17 00:00:00 2001 From: Martijn Dekker Date: Sun, 7 Jun 2020 20:41:04 +0200 Subject: [PATCH] Fix memory corruption while parsing functions Discussion: https://bugzilla.redhat.com/show_bug.cgi?id=1451057 src/cmd/ksh93/sh/parse.c: funct(): - Make the savstak variable volatile and always initialise it to avoid undefined behaviour. (cherry picked from commit 5e56b28cd63ec2120c5f70a6e0abf2f8dbb7e7dc) --- src/cmd/ksh93/sh/parse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cmd/ksh93/sh/parse.c b/src/cmd/ksh93/sh/parse.c index 7f259bc86..e7222c0f9 100644 --- a/src/cmd/ksh93/sh/parse.c +++ b/src/cmd/ksh93/sh/parse.c @@ -742,7 +742,7 @@ static Shnode_t *funct(Lex_t *lexp) register Shnode_t *t; register int flag; struct slnod *volatile slp=0; - Stak_t *savstak; + Stak_t *volatile savstak=0; Sfoff_t first, last; struct functnod *volatile fp; Sfio_t *iop;