Date: Fri, 18 Apr 2014 12:42:51 +0000 (UTC) From: Jilles Tjoelker <jilles@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r264644 - stable/9/bin/sh Message-ID: <201404181242.s3ICgpQe042539@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jilles Date: Fri Apr 18 12:42:50 2014 New Revision: 264644 URL: http://svnweb.freebsd.org/changeset/base/264644 Log: MFC r263847: sh: Fix memory leak with an assignment before a regular builtin Modified: stable/9/bin/sh/var.c Directory Properties: stable/9/bin/sh/ (props changed) Modified: stable/9/bin/sh/var.c ============================================================================== --- stable/9/bin/sh/var.c Fri Apr 18 12:34:10 2014 (r264643) +++ stable/9/bin/sh/var.c Fri Apr 18 12:42:50 2014 (r264644) @@ -344,8 +344,11 @@ setvareq(char *s, int flags) ckfree(s); error("%.*s: is read only", vp->name_len, s); } - if (flags & VNOSET) + if (flags & VNOSET) { + if ((flags & (VTEXTFIXED|VSTACK)) == 0) + ckfree(s); return; + } INTOFF; if (vp->func && (flags & VNOFUNC) == 0) @@ -378,8 +381,11 @@ setvareq(char *s, int flags) return; } /* not found */ - if (flags & VNOSET) + if (flags & VNOSET) { + if ((flags & (VTEXTFIXED|VSTACK)) == 0) + ckfree(s); return; + } INTOFF; vp = ckmalloc(sizeof (*vp)); vp->flags = flags;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201404181242.s3ICgpQe042539>