From 223df9ceea08a9b186f320114e40914552f48716 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Wed, 7 May 2014 23:19:28 +0400 Subject: [PATCH] We shouldn't modify strings in-place (it may be interned strings stored in SHN) --- ext/pdo/pdo_dbh.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/ext/pdo/pdo_dbh.c b/ext/pdo/pdo_dbh.c index c5b2b9fa1a..da39634c79 100644 --- a/ext/pdo/pdo_dbh.c +++ b/ext/pdo/pdo_dbh.c @@ -208,7 +208,6 @@ static PHP_METHOD(PDO, dbh_constructor) zval *options = NULL; char alt_dsn[512]; int call_factory = 1; - char tmp; if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s!s!a!", &data_source, &data_source_len, &username, &usernamelen, &password, &passwordlen, &options)) { @@ -256,10 +255,8 @@ static PHP_METHOD(PDO, dbh_constructor) } } - tmp = data_source[colon - data_source]; - data_source[colon - data_source] = '\0'; driver = pdo_find_driver(data_source, colon - data_source); - data_source[colon - data_source] = tmp; + if (!driver) { /* NB: don't want to include the data_source in the error message as * it might contain a password */ -- 2.40.0