svn commit: r263847 - head/bin/sh
Jilles Tjoelker
jilles at FreeBSD.org
Thu Mar 27 22:57:24 UTC 2014
Author: jilles
Date: Thu Mar 27 22:57:23 2014
New Revision: 263847
URL: http://svnweb.freebsd.org/changeset/base/263847
Log:
sh: Fix memory leak with an assignment before a regular builtin.
MFC after: 1 week
Modified:
head/bin/sh/var.c
Modified: head/bin/sh/var.c
==============================================================================
--- head/bin/sh/var.c Thu Mar 27 22:52:26 2014 (r263846)
+++ head/bin/sh/var.c Thu Mar 27 22:57:23 2014 (r263847)
@@ -330,8 +330,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)
@@ -364,8 +367,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;
More information about the svn-src-all
mailing list