]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
fdi2raw.cpp: div before mul to void overflow if UAE_RAND_MAX is large
authorFrode Solheim <frode@fs-uae.net>
Sat, 5 Sep 2015 14:50:16 +0000 (16:50 +0200)
committerFrode Solheim <frode@fs-uae.net>
Sat, 5 Sep 2015 14:50:16 +0000 (16:50 +0200)
fdi2raw.cpp

index 90ab9af5c50674b3a658d4d67bbc8946f4c8107f..649e1b00d336bce46e38d6d398dade4583297356 100644 (file)
@@ -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;