[fix](mysql) Fix Connection Attributes Parsing Logic for Compatibility (#32177)

This commit is contained in:
zy-kkk
2024-03-13 21:25:52 +08:00
committed by yiguolei
parent 141189de15
commit 985c4a3f50

View File

@ -104,8 +104,9 @@ public class MysqlAuthPacket extends MysqlPacket {
// attribute map, no use now.
if (buffer.remaining() > 0 && capability.isConnectAttrs()) {
connectAttributes = Maps.newHashMap();
long numPair = MysqlProto.readVInt(buffer);
for (long i = 0; i < numPair; ++i) {
long attrsLength = MysqlProto.readVInt(buffer);
long initialPosition = buffer.position();
while (buffer.position() - initialPosition < attrsLength) {
String key = new String(MysqlProto.readLenEncodedString(buffer));
String value = new String(MysqlProto.readLenEncodedString(buffer));
connectAttributes.put(key, value);