From: Szymon Jastrzebski Date: Thu, 22 Feb 2018 11:55:36 +0000 (+0100) Subject: [NFC] Fix for casting signed value to unsigned int X-Git-Tag: submit/tizen/20180228.082430~1^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ffd9a923bc5ea6ad327d53c0b64412ea657fea17;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [NFC] Fix for casting signed value to unsigned int SVACE ID #310366 [Verification] TW2 NFC M&A TCT pass rate 100%. Change-Id: Id329ba99d1ae62c6380c672dc3a06d2cd581011b Signed-off-by: Szymon Jastrzebski --- diff --git a/src/nfc/nfc_message_utils.cc b/src/nfc/nfc_message_utils.cc index 4581c5e6..9c7749bd 100644 --- a/src/nfc/nfc_message_utils.cc +++ b/src/nfc/nfc_message_utils.cc @@ -315,8 +315,11 @@ static PlatformResult NdefRecordGetHandle(picojson::value& record, return LogAndCreateResult(ErrorCode::TYPE_MISMATCH_ERR, "Record is empty"); } const picojson::object& record_obj = record.get(); - short tnf_from_json = static_cast(record.get("tnf").get()); - nfc_record_tnf_e tnf = static_cast(tnf_from_json); + int tnf_from_json = static_cast(record.get("tnf").get()); + if ((tnf_from_json < TNF_MIN) || (tnf_from_json > TNF_MAX)) { + return LogAndCreateResult(ErrorCode::TYPE_MISMATCH_ERR, "Type mismatch", ("Not supported TNF")); + } + nfc_record_tnf_e tnf = static_cast(static_cast(tnf_from_json)); const picojson::array& type_data = FromJson(record_obj, "type"); auto type_size = type_data.size(); std::unique_ptr type(new unsigned char[type_size]); @@ -335,9 +338,6 @@ static PlatformResult NdefRecordGetHandle(picojson::value& record, for (size_t i = 0; i < payload_size; i++) { payload[i] = static_cast(payload_data[i].get()); } - if ((tnf_from_json < TNF_MIN) || (tnf_from_json > TNF_MAX)) { - return LogAndCreateResult(ErrorCode::TYPE_MISMATCH_ERR, "Type mismatch", ("Not supported TNF")); - } const int BYTE_ARRAY_MAX = 255; nfc_ndef_record_h ndef_record_handle = NULL; int result = nfc_ndef_record_create(