- Be paranoid and dont allow multiplication with zero

master
mattias 2007-08-08 15:18:20 +00:00
parent 5008306b0d
commit 0a879c9fde
1 changed files with 2 additions and 4 deletions

View File

@ -19,12 +19,10 @@
int overflow2(int a, int b)
{
if(a < 0 || b < 0) {
fprintf(stderr, "gd warning: one parameter to a memory allocation multiplication is negative, failing operation gracefully\n");
if(a <= 0 || b <= 0) {
fprintf(stderr, "gd warning: one parameter to a memory allocation multiplication is negative or zero, failing operation gracefully\n");
return 1;
}
if(b == 0)
return 0;
if(a > INT_MAX / b) {
fprintf(stderr, "gd warning: product of memory allocation multiplication would exceed INT_MAX, failing operation gracefully\n");
return 1;