Free EOT_DB_STRING_FREE data in cleanup_insn(), which is where we free
all the other extop data.
OUT_RAWDATA, align, NO_SEG, NO_SEG);
}
offset += e->stringlen + align;
- if (e->type == EOT_DB_STRING_FREE)
- nasm_free(e->stringval);
}
}
if (t > 0 && t == instruction->times - 1) {
{
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);
}
}