[Calendar] Fix prevent crash 77/77377/1
authorLukasz Bardeli <l.bardeli@samsung.com>
Wed, 29 Jun 2016 12:18:59 +0000 (14:18 +0200)
committerLukasz Bardeli <l.bardeli@samsung.com>
Wed, 29 Jun 2016 12:18:59 +0000 (14:18 +0200)
Change-Id: Id256156f8ef0ff110da38472535c6c94378ce22b
Signed-off-by: Lukasz Bardeli <l.bardeli@samsung.com>
src/calendar/calendar.cc

index 0084c0aeeb8dfc7b98265cf9cd820ba104443b59..1d2dbfee1f43854b8b013d5eea633efc46456d39 100755 (executable)
@@ -507,7 +507,14 @@ PlatformResult Calendar::Find(const picojson::object& args, picojson::array& arr
           value = common::stol(
               FromJson<std::string>(JsonCast<JsonObject>(match_value), "uid"));
         } else {
-          value = common::stol(JsonCast<std::string>(match_value));
+          if (match_value.is<std::string>()) {
+            value = common::stol(JsonCast<std::string>(match_value));
+          } else if (match_value.is<double>()) {
+            value = static_cast<int>(match_value.get<double>());
+          } else {
+            return PlatformResult(ErrorCode::INVALID_VALUES_ERR,
+                                                        "Match value wrong type");
+          }
         }
         if (value < 0) {
           return LogAndCreateResult(