asm/labels: fix memory leak in local label structures

Travis CI testing with AddressSanitizer (ASan) triggered a severe memory
leak in the assembler label tracking. Local label structures were not
properly freed during cleanup stages. This fix adds proper verification
and destruction of tracking labels, resolving the ASan memory leak.

Signed-off-by: alexvoste <alexvostedev@proton.me>
[ hpa: fixed indentation style and removed unnecessary { } ]
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
This commit is contained in:
alexvoste 2026-06-12 08:07:52 +00:00 committed by H. Peter Anvin (Intel)
parent 3a33d83610
commit cfcfe9e701

View file

@ -210,6 +210,9 @@ static union label *find_label(const char *label, bool create, bool *created)
if (lptr || !create) {
if (created)
*created = false;
if (label_str)
nasm_free(label_str);
return lptr;
}