Skip to content

Commit 75b33b2

Browse files
committed
When charset_no is 0, 255 is now used as the default value.
1 parent 2f60582 commit 75b33b2

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

ext/mysqlnd/mysqlnd_charset.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
#ifndef MYSQLND_CHARSET_H
2020
#define MYSQLND_CHARSET_H
2121

22+
#define MYSQLND_DEFAULT_PROTOCOL_CHARSET 255
23+
2224
PHPAPI zend_ulong mysqlnd_cset_escape_quotes(const MYSQLND_CHARSET * const charset, char * newstr,
2325
const char * escapestr, const size_t escapestr_len);
2426

ext/mysqlnd/mysqlnd_commands.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -642,7 +642,7 @@ MYSQLND_METHOD(mysqlnd_command, handshake)(MYSQLND_CONN_DATA * const conn, const
642642
conn->protocol_version = greet_packet.protocol_version;
643643
conn->server_version = mnd_pestrdup(greet_packet.server_version, conn->persistent);
644644

645-
conn->greet_charset = mysqlnd_find_charset_nr(greet_packet.charset_no);
645+
conn->greet_charset = mysqlnd_find_charset_nr(greet_packet.charset_no != 0 ? greet_packet.charset_no : MYSQLND_DEFAULT_PROTOCOL_CHARSET);
646646
if (!conn->greet_charset) {
647647
char * msg;
648648
mnd_sprintf(&msg, 0, "Server sent charset (%d) unknown to the client. Please, report to the developers", greet_packet.charset_no);

0 commit comments

Comments
 (0)