From: Ilia Alshanetsky Date: Sun, 20 Nov 2005 20:07:38 +0000 (+0000) Subject: MFB51: Fixed bug #35303 (PDO prepare() crashes with invalid parameters). X-Git-Tag: RELEASE_2_0_2~149 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9979ac22155f04ec31c4878e5f820e5966f18a02;p=php MFB51: Fixed bug #35303 (PDO prepare() crashes with invalid parameters). --- diff --git a/ext/pdo/pdo_dbh.c b/ext/pdo/pdo_dbh.c index 818c49dc27..6ad3b25967 100755 --- a/ext/pdo/pdo_dbh.c +++ b/ext/pdo/pdo_dbh.c @@ -508,7 +508,7 @@ static PHP_METHOD(PDO, prepare) PDO_CONSTRUCT_CHECK; if (ZEND_NUM_ARGS() > 1 && SUCCESS == zend_hash_index_find(Z_ARRVAL_P(options), PDO_ATTR_STATEMENT_CLASS, (void**)&opt)) { - if (zend_hash_index_find(Z_ARRVAL_PP(opt), 0, (void**)&item) == FAILURE + if (Z_TYPE_PP(opt) != IS_ARRAY || zend_hash_index_find(Z_ARRVAL_PP(opt), 0, (void**)&item) == FAILURE || !PDO_ZVAL_PP_IS_TEXT(item) || zend_u_lookup_class(Z_TYPE_PP(item), Z_UNIVAL_PP(item), Z_UNILEN_PP(item), &pce TSRMLS_CC) == FAILURE ) {