From 9979ac22155f04ec31c4878e5f820e5966f18a02 Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Sun, 20 Nov 2005 20:07:38 +0000 Subject: [PATCH] MFB51: Fixed bug #35303 (PDO prepare() crashes with invalid parameters). --- ext/pdo/pdo_dbh.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 ) { -- 2.40.0