diff --git a/source/os/src/osTimezone.c b/source/os/src/osTimezone.c index 64cb007abafebd36856bccad3b2bb2730a288c2a..ab5600744c887d2fb39bc2bbb3bd30ba007fecf7 100644 --- a/source/os/src/osTimezone.c +++ b/source/os/src/osTimezone.c @@ -744,9 +744,9 @@ void taosSetSystemTimezone(const char *inTimezoneStr, char *outTimezoneStr, int8 enum TdTimezone *tsTimezone) { if (inTimezoneStr == NULL || inTimezoneStr[0] == 0) return; - char *buf = taosMemoryMalloc(strlen(inTimezoneStr) + 1); - buf[strlen(inTimezoneStr)] = 0; - for (int32_t i = 0; i < strlen(inTimezoneStr); i++) { + size_t len = strlen(inTimezoneStr); + char *buf = taosMemoryCalloc(len + 1, 1); + for (int32_t i = 0; i < len; i++) { if (inTimezoneStr[i] == ' ' || inTimezoneStr[i] == '(') { buf[i] = 0; break;