From 740b823be80a29e4c6537d4053eb7bad0fae6c41 Mon Sep 17 00:00:00 2001 From: Andrey Hristov Date: Mon, 4 Feb 2013 14:27:56 +0100 Subject: check the validity of the parameter --- ext/mysqlnd/mysqlnd.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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; } -- cgit v1.2.1