From a27fa2734ec4a9b29cb9d289b07eae0e3e56fda2 Mon Sep 17 00:00:00 2001
From: Piotr Kosko
Date: Wed, 10 Jun 2015 14:22:28 +0200
Subject: [PATCH] [Time] Fixed issues from prevent
[Verification] TCT passrate 100%.
Change-Id: I05d3f3e7eb610b83b75b714e13c31b31b1be7fa9
Signed-off-by: Piotr Kosko
---
src/time/time_instance.cc | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/src/time/time_instance.cc b/src/time/time_instance.cc
index ed1cf791..c170780d 100644
--- a/src/time/time_instance.cc
+++ b/src/time/time_instance.cc
@@ -91,12 +91,18 @@ void TimeInstance::TimeGetLocalTimeZone(const JsonValue& /*args*/,
LoggerD("Entered");
UnicodeString local_timezone;
- TimeZone::createDefault()->getID(local_timezone);
+ TimeZone* timezone = TimeZone::createDefault();
+ if (nullptr != timezone) {
+ timezone->getID(local_timezone);
+ delete timezone;
- std::string localtz;
- local_timezone.toUTF8String(localtz);
+ std::string localtz;
+ local_timezone.toUTF8String(localtz);
- ReportSuccess(JsonValue(localtz), out);
+ ReportSuccess(JsonValue(localtz), out);
+ } else {
+ ReportError(out);
+ }
}
void TimeInstance::TimeGetAvailableTimeZones(const JsonValue& /*args*/,
@@ -473,7 +479,7 @@ UnicodeString TimeInstance::getDateTimeFormat(DateTimeFormatType type,
#endif
pattern = dateTimepattern->getBestPattern(
- *(new UnicodeString(skeleton.c_str())), ec);
+ UnicodeString(skeleton.c_str()), ec);
if (U_FAILURE(ec)) {
LoggerE("Failed to get time pattern");
return "";
--
2.34.1