From 9e8f0ac460dfa83bc05f3b42bb9293ad21e39ae7 Mon Sep 17 00:00:00 2001 From: Cyrill Gorcunov Date: Sat, 2 Oct 2010 01:21:00 +0400 Subject: [PATCH] BR3079550: NASM crash on run-time for OMF output format We could have accessed malloc'ed data on external symbols in obj and ieee output formats. Fix it by using nasm_zalloc. Reported-by: Jiri Malak Patch-by: Jiri Malak Signed-off-by: Cyrill Gorcunov --- output/outieee.c | 4 ++-- output/outobj.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/output/outieee.c b/output/outieee.c index c6923fd..a8f6901 100644 --- a/output/outieee.c +++ b/output/outieee.c @@ -372,7 +372,7 @@ static void ieee_deflabel(char *name, int32_t segment, i = segment / 2; eb = ebhead; if (!eb) { - eb = *ebtail = nasm_malloc(sizeof(*eb)); + eb = *ebtail = nasm_zalloc(sizeof(*eb)); eb->next = NULL; ebtail = &eb->next; } @@ -380,7 +380,7 @@ static void ieee_deflabel(char *name, int32_t segment, if (eb && eb->next) eb = eb->next; else { - eb = *ebtail = nasm_malloc(sizeof(*eb)); + eb = *ebtail = nasm_zalloc(sizeof(*eb)); eb->next = NULL; ebtail = &eb->next; } diff --git a/output/outobj.c b/output/outobj.c index e62bc3f..b07a7e4 100644 --- a/output/outobj.c +++ b/output/outobj.c @@ -993,7 +993,7 @@ static void obj_deflabel(char *name, int32_t segment, i = segment / 2; eb = ebhead; if (!eb) { - eb = *ebtail = nasm_malloc(sizeof(*eb)); + eb = *ebtail = nasm_zalloc(sizeof(*eb)); eb->next = NULL; ebtail = &eb->next; } @@ -1001,7 +1001,7 @@ static void obj_deflabel(char *name, int32_t segment, if (eb && eb->next) eb = eb->next; else { - eb = *ebtail = nasm_malloc(sizeof(*eb)); + eb = *ebtail = nasm_zalloc(sizeof(*eb)); eb->next = NULL; ebtail = &eb->next; } -- 2.7.4