[cmd] Avoid division by zero in set /a with %
Ann and Jason Edmeades
jason at edmeades.me.uk
Sun Jan 6 17:12:38 CST 2013
set /a 8%0 should report division by zero, not actually attempt it!
[Fixes bug 32546 / coverity 752986]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20130106/7643b24f/attachment.html>
-------------- next part --------------
From 89da9f9f2e78ef351929412da0b2b9b9fafb8ab6 Mon Sep 17 00:00:00 2001
From: Jason Edmeades <jason at edmeades.me.uk>
Date: Sun, 6 Jan 2013 20:23:53 +0000
Subject: [cmd] Avoid division by zero in set /a with %
set /a 8%0 should report division by zero, not actually attempt it!
[Fixes bug 32546 / coverity 752986]
---
programs/cmd/builtins.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/programs/cmd/builtins.c b/programs/cmd/builtins.c
index 2899418..7aba90c 100644
--- a/programs/cmd/builtins.c
+++ b/programs/cmd/builtins.c
@@ -3661,6 +3661,7 @@ static int WCMD_reduce(OPSTACK **opstack, VARSTACK **varstack) {
WCMD_pushnumber(NULL, var2&var1, varstack);
break;
case '%': var2 = WCMD_popnumber(varstack);
+ if (var1 == 0) return WCMD_DIVIDEBYZERO;
WCMD_pushnumber(NULL, var2%var1, varstack);
break;
case '^': var2 = WCMD_popnumber(varstack);
--
1.7.9.5
More information about the wine-patches
mailing list