diff options
author | Dmitry Stogov <dmitry@zend.com> | 2014-05-07 23:19:28 +0400 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2014-05-07 23:19:28 +0400 |
commit | 223df9ceea08a9b186f320114e40914552f48716 (patch) | |
tree | c7a4b64c47f56dcab3f80f1d6f3a74edc025195d /ext/pdo | |
parent | d41d6cf20670f1ff555db1ee5523c45b0f0c83fc (diff) | |
download | php-git-223df9ceea08a9b186f320114e40914552f48716.tar.gz |
We shouldn't modify strings in-place (it may be interned strings stored in SHN)
Diffstat (limited to 'ext/pdo')
-rw-r--r-- | ext/pdo/pdo_dbh.c | 5 |
1 files changed, 1 insertions, 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 */ |