In the case where parse_sliteral returns an error then label_name will not have been assigned to. In order to prevent evaluating label_name in this case add a check for the return value of parse_sliteral.
Signed-off-by: Andrew Goodbody <[email protected]> --- boot/pxe_utils.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/boot/pxe_utils.c b/boot/pxe_utils.c index 82f217aaf86..eb4d7723481 100644 --- a/boot/pxe_utils.c +++ b/boot/pxe_utils.c @@ -1348,7 +1348,7 @@ static int parse_pxefile_top(struct pxe_context *ctx, char *p, unsigned long bas case T_ONTIMEOUT: err = parse_sliteral(&p, &label_name); - if (label_name) { + if (err >= 0 && label_name) { if (cfg->default_label) free(cfg->default_label); @@ -1360,7 +1360,7 @@ static int parse_pxefile_top(struct pxe_context *ctx, char *p, unsigned long bas case T_FALLBACK: err = parse_sliteral(&p, &label_name); - if (label_name) { + if (err >= 0 && label_name) { if (cfg->fallback_label) free(cfg->fallback_label); --- base-commit: 7027b445cc0bfb86204ecb1f1fe596f5895048d9 change-id: 20250630-boot_pxe_fix-7877ae1f4cd6 Best regards, -- Andrew Goodbody <[email protected]>

