From 17b81b9e297ef5e5c75501b6cd48491b8e9bd038 Mon Sep 17 00:00:00 2001 From: Xie Han <63350856@qq.com> Date: Sun, 27 Aug 2023 00:47:03 +0800 Subject: [PATCH] Make mysql parser more tolerant. --- src/protocol/mysql_parser.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/protocol/mysql_parser.c b/src/protocol/mysql_parser.c index af610c3550..babe03b46d 100644 --- a/src/protocol/mysql_parser.c +++ b/src/protocol/mysql_parser.c @@ -207,11 +207,15 @@ static int parse_ok_packet(const void *buf, size_t len, mysql_parser_t *parser) if (decode_string(&str, &info_len, &p, buf_end) == 0) return -2; - if (server_status & MYSQL_SERVER_SESSION_STATE_CHANGED) + if (p != buf_end) { - const unsigned char *tmp_str; - unsigned long long tmp_len; - if (decode_string(&tmp_str, &tmp_len, &p, buf_end) == 0) + if (server_status & MYSQL_SERVER_SESSION_STATE_CHANGED) + { + const unsigned char *tmp_str; + unsigned long long tmp_len; + if (decode_string(&tmp_str, &tmp_len, &p, buf_end) == 0) + return -2; + } else return -2; } } else {