summaryrefslogtreecommitdiff
path: root/parser.c
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2008-06-15 17:39:45 -0700
committerH. Peter Anvin <hpa@zytor.com>2008-06-15 17:39:45 -0700
commit2aa77394b7b5523fb031a0c059f0db7b93e565d5 (patch)
tree882ea67aeacb1e45ee9a449336d4b8a8889409db /parser.c
parenta0b91037e21428682c29464a473cbcb13ed07c49 (diff)
downloadnasm-2aa77394b7b5523fb031a0c059f0db7b93e565d5.tar.gz
nasm-2aa77394b7b5523fb031a0c059f0db7b93e565d5.tar.bz2
nasm-2aa77394b7b5523fb031a0c059f0db7b93e565d5.zip
Free EOT_DB_STRING_FREE in cleanup_insn()
Free EOT_DB_STRING_FREE data in cleanup_insn(), which is where we free all the other extop data.
Diffstat (limited to 'parser.c')
-rw-r--r--parser.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/parser.c b/parser.c
index caff1b1..a88e883 100644
--- a/parser.c
+++ b/parser.c
@@ -947,9 +947,10 @@ void cleanup_insn(insn * i)
{
extop *e;
- while (i->eops) {
- e = i->eops;
- i->eops = i->eops->next;
+ while ((e = i->eops)) {
+ i->eops = e->next;
+ if (e->type == EOT_DB_STRING_FREE)
+ nasm_free(e->stringval);
nasm_free(e);
}
}