aboutsummaryrefslogtreecommitdiffstats
path: root/node.c
diff options
context:
space:
mode:
authorAndrew J. Schorr <aschorr@telemetry-investments.com>2016-06-27 19:48:34 -0400
committerAndrew J. Schorr <aschorr@telemetry-investments.com>2016-06-27 19:48:34 -0400
commite4863f1b6341cbcc4132a8161e000e81092b4d65 (patch)
tree65f009b3406b96a950290328d88f2c22ed8f4959 /node.c
parenta7b4445ceb1d355911a8a367b8db79b225094c43 (diff)
downloadegawk-e4863f1b6341cbcc4132a8161e000e81092b4d65.tar.gz
egawk-e4863f1b6341cbcc4132a8161e000e81092b4d65.tar.bz2
egawk-e4863f1b6341cbcc4132a8161e000e81092b4d65.zip
Protect against an improper call to free in r_format_val.
Diffstat (limited to 'node.c')
-rw-r--r--node.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/node.c b/node.c
index 58b54561..2c099bd6 100644
--- a/node.c
+++ b/node.c
@@ -272,7 +272,7 @@ r_format_val(const char *format, int index, NODE *s)
s->flags |= STRING;
}
}
- if (s->stptr != NULL)
+ if ((s->flags & STRCUR) != 0)
efree(s->stptr);
emalloc(s->stptr, char *, s->stlen + 1, "format_val");
memcpy(s->stptr, sp, s->stlen + 1);