fix conn attr invalid cannot connect while change user

This commit is contained in:
obdev
2023-10-17 11:44:23 +00:00
committed by ob-robot
parent 2c5bdd7e2b
commit 320799ca5c
2 changed files with 10 additions and 16 deletions

View File

@ -149,28 +149,22 @@ int OMPKHandshakeResponse::decode()
LOG_WARN("fail to push back str_kv", K(str_kv), K(ret));
}
} else {
ret = OB_INVALID_ARGUMENT;
LOG_ERROR("invalid packet", K(ret), K(all_attrs_len), K(value_len), K((end -pos)));
// skip error
}
} else {
ret = OB_INVALID_ARGUMENT;
LOG_ERROR("invalid packet", K(ret), K(all_attrs_len), K(value_len));
// skip error
}
} else {
ret = OB_INVALID_ARGUMENT;
LOG_ERROR("invalid packet", K(ret), K(all_attrs_len), K(value_inc_len));
// skip error
}
} else {
ret = OB_INVALID_ARGUMENT;
LOG_ERROR("invalid packet", K(ret), K(all_attrs_len), K(key_len), K((end - pos)));
// skip error
}
} else {
ret = OB_INVALID_ARGUMENT;
LOG_ERROR("invalid packet", K(ret), K(all_attrs_len), K(key_len));
// skip error
}
} else {
ret = OB_INVALID_ARGUMENT;
LOG_ERROR("error", K(ret), K(all_attrs_len), K(key_inc_len));
// skip error
}
}
} else {

View File

@ -143,13 +143,13 @@ int ObMPChangeUser::decode_string_kv(const char *attrs_end, const char *&pos, Ob
} else {
if (OB_FAIL(ObMySQLUtil::get_length(pos, key_len))) {
OB_LOG(WARN, "fail t get key len", K(pos), K(ret));
} else if (pos + key_len >= attrs_end) {
// skip this value
pos = attrs_end;
} else {
kv.key_.assign_ptr(pos, static_cast<uint32_t>(key_len));
pos += key_len;
if (pos >= attrs_end) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("unexpected key len", K(ret), K(key_len));
} else if (OB_FAIL(ObMySQLUtil::get_length(pos, value_len))) {
if (OB_FAIL(ObMySQLUtil::get_length(pos, value_len))) {
OB_LOG(WARN, "fail t get value len", K(pos), K(ret));
} else {
kv.value_.assign_ptr(pos, static_cast<uint32_t>(value_len));