X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=hacks%2Frd-bomb.c;fp=hacks%2Frd-bomb.c;h=08ec7a753d9c84dd8c2a6accab19ac5b607c8ecd;hp=878f5b9b6996ffdad0a49e2333f31a5599634387;hb=d5186197bc394e10a4402f7f6d23fbb14103bc50;hpb=6afd6db0ae9396cd7ff897ade597cd5483f49b0e diff --git a/hacks/rd-bomb.c b/hacks/rd-bomb.c index 878f5b9b..08ec7a75 100644 --- a/hacks/rd-bomb.c +++ b/hacks/rd-bomb.c @@ -236,7 +236,9 @@ pixack_frame(struct state *st, char *pix_buf) /* John E. Pearson "Complex Patterns in a Simple System" Science, July 1993 */ - uvv = (((r1 * r2) >> bps) * r2) >> bps; + /* uvv = (((r1 * r2) >> bps) * r2) >> bps; */ + /* avoid signed integer overflow */ + uvv = ((((r1 >> 1)* r2) >> bps) * r2) >> (bps - 1); switch (st->reaction) { /* costs 4% */ case 0: r1 += 4 * (((28 * (mx-r1)) >> 10) - uvv);