diff options
author | Andrey Hristov <andrey@php.net> | 2013-02-04 14:27:56 +0100 |
---|---|---|
committer | Andrey Hristov <andrey@php.net> | 2013-02-04 14:27:56 +0100 |
commit | 740b823be80a29e4c6537d4053eb7bad0fae6c41 (patch) | |
tree | 92fe35da7e6a365f4438ca63bed9cfc48c3748e1 | |
parent | 643ce95b5bd80e744c7f5e6ac33138f40ed9a1f7 (diff) | |
download | php-git-740b823be80a29e4c6537d4053eb7bad0fae6c41.tar.gz |
check the validity of the parameter
-rw-r--r-- | ext/mysqlnd/mysqlnd.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ext/mysqlnd/mysqlnd.c b/ext/mysqlnd/mysqlnd.c index 0b81ac99fa..90c2b73eae 100644 --- a/ext/mysqlnd/mysqlnd.c +++ b/ext/mysqlnd/mysqlnd.c @@ -2321,7 +2321,14 @@ MYSQLND_METHOD(mysqlnd_conn_data, set_client_option)(MYSQLND_CONN_DATA * const c break; case MYSQL_SET_CHARSET_NAME: { - char * new_charset_name = mnd_pestrdup(value, conn->persistent); + char * new_charset_name; + if (!mysqlnd_find_charset_name(value)) { + SET_CLIENT_ERROR(*conn->error_info, CR_CANT_FIND_CHARSET, UNKNOWN_SQLSTATE, "Unknown character set"); + ret = FAIL; + break; + } + + new_charset_name = mnd_pestrdup(value, conn->persistent); if (!new_charset_name) { goto oom; } |