iliaa Tue Jun 3 19:42:31 2003 EDT
Modified files:
/php4/ext/gd/libgd gd_gif_in.c gd_png.c gdxpm.c wbmp.c
Log:
Last set of integer overflow checks.
Index: php4/ext/gd/libgd/gd_gif_in.c
diff -u php4/ext/gd/libgd/gd_gif_in.c:1.3 php4/ext/gd/libgd/gd_gif_in.c:1.4
--- php4/ext/gd/libgd/gd_gif_in.c:1.3 Sun Dec 1 06:43:54 2002
+++ php4/ext/gd/libgd/gd_gif_in.c Tue Jun 3 19:42:31 2003
@@ -299,7 +299,7 @@
rv = GetDataBlock_(fd,buf);
if (VERBOSE) {
if (rv > 0) {
- tmp = emalloc((3*sizeof(char)*rv) + 1);
+ tmp = safe_emalloc(3 * rv, sizeof(char), 1);
for (i=0;i<rv;i++) {
sprintf(&tmp[3*sizeof(char)*i], " %02x", buf[i]);
}
Index: php4/ext/gd/libgd/gd_png.c
diff -u php4/ext/gd/libgd/gd_png.c:1.13 php4/ext/gd/libgd/gd_png.c:1.14
--- php4/ext/gd/libgd/gd_png.c:1.13 Tue Apr 29 20:37:31 2003
+++ php4/ext/gd/libgd/gd_png.c Tue Jun 3 19:42:31 2003
@@ -281,9 +281,9 @@
/* allocate space for the PNG image data */
rowbytes = png_get_rowbytes(png_ptr, info_ptr);
- image_data = (png_bytep) gdMalloc (rowbytes * height);
+ image_data = (png_bytep) safe_emalloc(rowbytes, height, 0);
- row_pointers = (png_bytepp) gdMalloc (height * sizeof (png_bytep));
+ row_pointers = (png_bytepp) safe_emalloc(height, sizeof(png_bytep), 0);
/* set the individual row_pointers to point at the correct offsets */
for (h = 0; h < height; ++h) {
@@ -625,10 +625,10 @@
int channels = im->saveAlphaFlag ? 4 : 3;
/* Our little 7-bit alpha channel trick costs us a bit here. */
png_bytep *row_pointers;
- row_pointers = gdMalloc(sizeof (png_bytep) * height);
+ row_pointers = safe_emalloc(sizeof(png_bytep), height, 0);
for (j = 0; j < height; ++j) {
int bo = 0;
- row_pointers[j] = (png_bytep) gdMalloc(width * channels);
+ row_pointers[j] = (png_bytep) safe_emalloc(width, channels, 0);
for (i = 0; i < width; ++i) {
unsigned char a;
row_pointers[j][bo++] =
gdTrueColorGetRed(im->tpixels[j][i]);
@@ -659,7 +659,7 @@
} else {
if (remap) {
png_bytep *row_pointers;
- row_pointers = gdMalloc(sizeof (png_bytep) * height);
+ row_pointers = safe_emalloc(height, sizeof(png_bytep), 0);
for (j = 0; j < height; ++j) {
row_pointers[j] = (png_bytep) gdMalloc(width);
for (i = 0; i < width; ++i) {
Index: php4/ext/gd/libgd/gdxpm.c
diff -u php4/ext/gd/libgd/gdxpm.c:1.5 php4/ext/gd/libgd/gdxpm.c:1.6
--- php4/ext/gd/libgd/gdxpm.c:1.5 Tue Mar 18 13:29:10 2003
+++ php4/ext/gd/libgd/gdxpm.c Tue Jun 3 19:42:31 2003
@@ -38,7 +38,7 @@
}
number = image.ncolors;
- colors = (int *) gdMalloc (sizeof (int) * number);
+ colors = (int *) safe_emalloc(number, sizeof(int), 0);
for (i = 0; i < number; i++) {
switch (strlen (image.colorTable[i].c_color)) {
case 4:
Index: php4/ext/gd/libgd/wbmp.c
diff -u php4/ext/gd/libgd/wbmp.c:1.2 php4/ext/gd/libgd/wbmp.c:1.3
--- php4/ext/gd/libgd/wbmp.c:1.2 Sun Aug 11 09:50:27 2002
+++ php4/ext/gd/libgd/wbmp.c Tue Jun 3 19:42:31 2003
@@ -176,7 +176,7 @@
printf ("W: %d, H: %d\n", wbmp->width, wbmp->height);
#endif
- if ((wbmp->bitmap = (int *) gdMalloc (sizeof (int) * wbmp->width * wbmp->height))
== NULL)
+ if ((wbmp->bitmap = (int *) safe_emalloc(wbmp->width * wbmp->height, sizeof(int),
0)) == NULL)
{
gdFree (wbmp);
return (-1);
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php