about summary refs log tree commit diff
path: root/Src/params.c
diff options
context:
space:
mode:
authorClint Adams <clint@users.sourceforge.net>2008-10-23 00:48:59 +0000
committerClint Adams <clint@users.sourceforge.net>2008-10-23 00:48:59 +0000
commit365e04460d9ae4bfc3d48af912f60a9eb4527ed4 (patch)
tree10dd7f66268527a23341d21e3c0e7b7e2c8d2a7f /Src/params.c
parent1a0f907a7762ef923cbd3342d64114924a740273 (diff)
downloadzsh-365e04460d9ae4bfc3d48af912f60a9eb4527ed4.tar.gz
zsh-365e04460d9ae4bfc3d48af912f60a9eb4527ed4.tar.xz
zsh-365e04460d9ae4bfc3d48af912f60a9eb4527ed4.zip
25926: free val only after it may be passed to strlen (as in 25656).
Diffstat (limited to 'Src/params.c')
-rw-r--r--Src/params.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/Src/params.c b/Src/params.c
index 71cb2a907..0faf667b9 100644
--- a/Src/params.c
+++ b/Src/params.c
@@ -2253,10 +2253,10 @@ setstrvalue(Value v, char *val)
 	    mnumber mn = matheval(val);
 	    v->pm->gsu.f->setfn(v->pm, (mn.type & MN_FLOAT) ? mn.u.d :
 			       (double)mn.u.l);
-	    zsfree(val);
 	    if ((v->pm->node.flags & (PM_LEFT | PM_RIGHT_B | PM_RIGHT_Z)) &&
 		!v->pm->width)
 		v->pm->width = strlen(val);
+	    zsfree(val);
 	}
 	break;
     case PM_ARRAY: