Fix for MySQL 5.1 server handshake

Fix for MySQL 5.1 server handshake
This commit is contained in:
MassimilianoPinto
2014-02-21 09:55:41 +01:00
parent dd5c287339
commit 3bb0d650f8

View File

@ -256,13 +256,17 @@ int gw_decode_mysql_server_handshake(MySQLProtocol *conn, uint8_t *payload) {
payload+=2; payload+=2;
// get scramble len // get scramble len
scramble_len = payload[0] -1; if (payload[0] > 0) {
ss_dassert(scramble_len > GW_SCRAMBLE_LENGTH_323); scramble_len = payload[0] -1;
ss_dassert(scramble_len <= GW_MYSQL_SCRAMBLE_SIZE); ss_dassert(scramble_len > GW_SCRAMBLE_LENGTH_323);
ss_dassert(scramble_len <= GW_MYSQL_SCRAMBLE_SIZE);
if ( (scramble_len < GW_SCRAMBLE_LENGTH_323) || scramble_len > GW_MYSQL_SCRAMBLE_SIZE) { if ( (scramble_len < GW_SCRAMBLE_LENGTH_323) || scramble_len > GW_MYSQL_SCRAMBLE_SIZE) {
/* log this */ /* log this */
return -2; return -2;
}
} else {
scramble_len = GW_MYSQL_SCRAMBLE_SIZE;
} }
// skip 10 zero bytes // skip 10 zero bytes