- Be paranoid and dont allow multiplication with zero
parent
5008306b0d
commit
0a879c9fde
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue