evr: Fix incorrect integral computation.
Note: typeof (int * unsigned) is unsigned.
So:
- on 64bit CPUs, where sizeof(int) = 4 < sizeof(void*) = 8,
- when the result of the multiplication is supposed to be negative
- there's no propagation of the negative sign from 32bit to 64 bit integers
Fixes a crash in Age of Empire II.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
Showing
Please
register
or
sign in
to comment