summaryrefslogtreecommitdiff
path: root/ext/gd/gd.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/gd/gd.c')
-rw-r--r--ext/gd/gd.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/ext/gd/gd.c b/ext/gd/gd.c
index 30acee57e6..5fe9ecdfcc 100644
--- a/ext/gd/gd.c
+++ b/ext/gd/gd.c
@@ -1429,6 +1429,11 @@ PHP_FUNCTION(imagecreatefromstring)
}
convert_to_string_ex(data);
+ if (Z_STRLEN_PP(data) < 8) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Empty string or invalid image");
+ RETURN_FALSE;
+ }
+
memcpy(sig, Z_STRVAL_PP(data), 8);
imtype = _php_image_type(sig);
@@ -1480,7 +1485,7 @@ PHP_FUNCTION(imagecreatefromstring)
break;
default:
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Data is not in a recognized format.");
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Data is not in a recognized format");
RETURN_FALSE;
}