From c6b6dbcc475cad75f4533091a13c2e875ed7e82f Mon Sep 17 00:00:00 2001 From: obdev Date: Wed, 25 May 2022 20:48:53 +0800 Subject: [PATCH] [CP] [bugfix] primary_zone length overflow when memcpy --- src/share/ob_primary_zone_util.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/share/ob_primary_zone_util.cpp b/src/share/ob_primary_zone_util.cpp index fdb4d5d68f..f4c209e1ec 100644 --- a/src/share/ob_primary_zone_util.cpp +++ b/src/share/ob_primary_zone_util.cpp @@ -40,7 +40,7 @@ int ObPrimaryZoneUtil::init(const common::ObIArray& zone_list) ret = OB_INVALID_ARGUMENT; LOG_WARN("invalid argument", K(ret), K(primary_zone_), "zone list count", zone_list.count(), KP(zone_region_list_)); } else { - int64_t len = strlen(primary_zone_.ptr()); + int64_t len = primary_zone_.length(); if (common::MAX_ZONE_LENGTH < len) { ret = OB_ERR_UNEXPECTED; LOG_WARN("primary_zone length overflowed", KR(ret), K(len), "max_zone_length", MAX_ZONE_LENGTH); @@ -77,7 +77,7 @@ int ObPrimaryZoneUtil::init(const common::ObIArray& zone_list) ret = OB_INVALID_ARGUMENT; LOG_WARN("invalid argument", K(ret), K(primary_zone_), "zone list count", zone_list.count(), KP(zone_region_list_)); } else { - int64_t len = strlen(primary_zone_.ptr()); + int64_t len = primary_zone_.length(); if (common::MAX_ZONE_LENGTH < len) { ret = OB_ERR_UNEXPECTED; LOG_WARN("primary_zone length overflowed", KR(ret), K(len), "max_zone_length", MAX_ZONE_LENGTH); @@ -109,7 +109,7 @@ int ObPrimaryZoneUtil::init() ret = OB_INVALID_ARGUMENT; LOG_WARN("invalid argument", K(ret), K(primary_zone_), KP(zone_region_list_)); } else { - int64_t len = strlen(primary_zone_.ptr()); + int64_t len = primary_zone_.length(); if (common::MAX_ZONE_LENGTH < len) { ret = OB_ERR_UNEXPECTED; LOG_WARN("primary_zone length overflowed", KR(ret), K(len), "max_zone_length", MAX_ZONE_LENGTH); -- GitLab