diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2019-06-19 14:22:05 +0200 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2019-06-19 15:09:00 +0200 |
commit | 22765160da028590aafc073cc2edbb088e28f436 (patch) | |
tree | 000f9b820cc727faf88a6229ea08bb61569f73e6 /ext/mysqlnd/mysqlnd_wireprotocol.c | |
parent | 4ae87f4bf964146d8da1deb64cf1b668f1103891 (diff) | |
download | php-git-22765160da028590aafc073cc2edbb088e28f436.tar.gz |
Fix incorrect shift in mysqlnd_wireprotocol
This one looks like a genuine bug: We're shifting a uint16_t by
16 bits. On x86 that likely results in no shift happening.
Diffstat (limited to 'ext/mysqlnd/mysqlnd_wireprotocol.c')
-rw-r--r-- | ext/mysqlnd/mysqlnd_wireprotocol.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ext/mysqlnd/mysqlnd_wireprotocol.c b/ext/mysqlnd/mysqlnd_wireprotocol.c index 6ef48a4a7d..609fd98309 100644 --- a/ext/mysqlnd/mysqlnd_wireprotocol.c +++ b/ext/mysqlnd/mysqlnd_wireprotocol.c @@ -420,7 +420,7 @@ php_mysqlnd_greet_read(MYSQLND_CONN_DATA * conn, void * _packet) p--; /* Additional 16 bits for server capabilities */ - packet->server_capabilities |= uint2korr(pad_start) << 16; + packet->server_capabilities |= (uint32_t) uint2korr(pad_start) << 16; /* And a length of the server scramble in one byte */ packet->authentication_plugin_data.l = uint1korr(pad_start + 2); if (packet->authentication_plugin_data.l > SCRAMBLE_LENGTH) { |