From 13816034d2760ff68eb5931406ecd2b139189eec Mon Sep 17 00:00:00 2001 From: truckman Date: Fri, 20 May 2016 06:41:26 +0000 Subject: [PATCH] MFC r299591 Always return either a dynamically allocated string or NULL from expand(). Never return the name parameter, which could be a the buf[] buffer which is allocated on the stack by getdeadletter() and which would then be used after getdeadletter() has returned. Reported by: Coverity CID: 1199383 git-svn-id: svn://svn.freebsd.org/base/stable/10@300274 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- usr.bin/mail/fio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.bin/mail/fio.c b/usr.bin/mail/fio.c index 1b0efeaf6..d9d4ee1a2 100644 --- a/usr.bin/mail/fio.c +++ b/usr.bin/mail/fio.c @@ -367,10 +367,10 @@ expand(char *name) name = savestr(xname); } if (!strpbrk(name, "~{[*?$`'\"\\")) - return (name); + return (savestr(name)); if (pipe(pivec) < 0) { warn("pipe"); - return (name); + return (NULL); } (void)snprintf(cmdbuf, sizeof(cmdbuf), "echo %s", name); if ((sh = value("SHELL")) == NULL) -- 2.45.0