From ceec0d818798aeaa75ed4907e6135b0247ed46b2 Mon Sep 17 00:00:00 2001 From: Cyrill Gorcunov Date: Sun, 14 Oct 2018 01:26:19 +0300 Subject: [PATCH] eval: Eliminate division by zero When doing division we should detect if the value we're divided by is not zero. Instead of is_unknown() helper we should use is_just_unknown(). https://bugzilla.nasm.us/show_bug.cgi?id=3392515 https://bugzilla.nasm.us/show_bug.cgi?id=3392473 Reported-by: Jun Reported-by: stuartly Signed-off-by: Cyrill Gorcunov Upstream-Status: Backport [https://github.com/netwide-assembler/nasm/commit/ceec0d818798aeaa75ed4907e6135b0247ed46b2.patch] CVE: CVE-2018-10016 Signed-off-by: Hongxu Jia --- asm/eval.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asm/eval.c b/asm/eval.c index 1a6680f..7e727a4 100644 --- a/asm/eval.c +++ b/asm/eval.c @@ -580,7 +580,7 @@ static expr *expr5(int critical) " scalar values"); return NULL; } - if (j != '*' && !is_unknown(f) && reloc_value(f) == 0) { + if (j != '*' && !is_just_unknown(f) && reloc_value(f) == 0) { nasm_error(ERR_NONFATAL, "division by zero"); return NULL; } -- 2.10.2