cvs: gd(GD_2_0) /libgd gd_security.c
[email protected] ("Mattias Bengtsson") Wed, 08 Aug 2007 15:18:46 -0000
| Newsgroups | php.gd.cvs |
|---|---|
| Message-ID | <cvsmattias1186586326@cvsserver> |
mattias Wed Aug 8 15:18:46 2007 UTC
Modified files: (Branch: GD_2_0)
/gd/libgd gd_security.c
Log:
-MFH: Be paranoid and dont allow multiplication with zero
http://cvs.php.net/viewvc.cgi/gd/libgd/gd_security.c?r1=1.1&r2=1.1.2.1&diff_format=u
Index: gd/libgd/gd_security.c
diff -u gd/libgd/gd_security.c:1.1 gd/libgd/gd_security.c:1.1.2.1
--- gd/libgd/gd_security.c:1.1 Wed Apr 5 15:54:20 2006
+++ gd/libgd/gd_security.c Wed Aug 8 15:18:46 2007
@@ -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;