From 0ca5ea573787a89e397f34ad317ed8126a0c96a8 Mon Sep 17 00:00:00 2001 From: Frode Solheim Date: Sat, 5 Sep 2015 16:50:16 +0200 Subject: [PATCH] fdi2raw.cpp: div before mul to void overflow if UAE_RAND_MAX is large --- fdi2raw.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fdi2raw.cpp b/fdi2raw.cpp index 90ab9af5..649e1b00 100644 --- a/fdi2raw.cpp +++ b/fdi2raw.cpp @@ -1626,7 +1626,7 @@ static void fdi2_decode (FDI *fdi, unsigned long totalavg, uae_u32 *avgp, uae_u3 randval = uaerand(); if (randval < (UAE_RAND_MAX / 2)) { if (randval > (UAE_RAND_MAX / 4)) { - if (randval <= (3 * UAE_RAND_MAX / 8)) + if (randval <= (3 * (UAE_RAND_MAX / 8))) randval = (2 * randval) - (UAE_RAND_MAX /4); else randval = (4 * randval) - UAE_RAND_MAX; @@ -1635,7 +1635,7 @@ static void fdi2_decode (FDI *fdi, unsigned long totalavg, uae_u32 *avgp, uae_u3 } else { randval -= UAE_RAND_MAX / 2; if (randval > (UAE_RAND_MAX / 4)) { - if (randval <= (3 * UAE_RAND_MAX / 8)) + if (randval <= (3 * (UAE_RAND_MAX / 8))) randval = (2 * randval) - (UAE_RAND_MAX /4); else randval = (4 * randval) - UAE_RAND_MAX; @@ -1661,7 +1661,7 @@ static void fdi2_decode (FDI *fdi, unsigned long totalavg, uae_u32 *avgp, uae_u3 randval = uaerand(); if (randval < (UAE_RAND_MAX / 2)) { if (randval > (UAE_RAND_MAX / 4)) { - if (randval <= (3 * UAE_RAND_MAX / 8)) + if (randval <= (3 * (UAE_RAND_MAX / 8))) randval = (2 * randval) - (UAE_RAND_MAX /4); else randval = (4 * randval) - UAE_RAND_MAX; @@ -1670,7 +1670,7 @@ static void fdi2_decode (FDI *fdi, unsigned long totalavg, uae_u32 *avgp, uae_u3 } else { randval -= UAE_RAND_MAX / 2; if (randval > (UAE_RAND_MAX / 4)) { - if (randval <= (3 * UAE_RAND_MAX / 8)) + if (randval <= (3 * (UAE_RAND_MAX / 8))) randval = (2 * randval) - (UAE_RAND_MAX /4); else randval = (4 * randval) - UAE_RAND_MAX; -- 2.47.3