From: Michal Bistyga Date: Fri, 2 Feb 2018 15:09:33 +0000 (+0100) Subject: [NFC] Fixing undefined behaviour during static_cast to unsigned char X-Git-Tag: submit/tizen_3.0/20180205.082857~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ce879c7ab668c7f6f04077bb94903e0b7ac2035f;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [NFC] Fixing undefined behaviour during static_cast to unsigned char Validation: Automatic tests 100% pass rate TODO manual tests Change-Id: I9c15efc77c82f0f7e4019913b2bd02d0f8047bb1 Signed-off-by: Michal Bistyga --- diff --git a/src/nfc/nfc_api.js b/src/nfc/nfc_api.js index 6c3f19bc..c2823480 100644 --- a/src/nfc/nfc_api.js +++ b/src/nfc/nfc_api.js @@ -692,7 +692,7 @@ NFCAdapter.prototype.removeHCEEventListener = function() { NFCAdapter.prototype.sendHostAPDUResponse = function(apdu, successCallback, errorCallback) { var args = validator_.validateArgs(arguments, [ - {name: 'apdu', type: types_.ARRAY, values: types_.OCTET}, + {name: 'apdu', type: types_.ARRAY, values: types_.BYTE}, {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true}, {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true} ]); @@ -1102,7 +1102,8 @@ function NFCTag(tagid) { var args = validator_.validateArgs(arguments, [ { name: 'data', - type: types_.ARRAY + type: types_.ARRAY, + values: types_.BYTE }, { name: 'dataCallback', diff --git a/src/nfc/nfc_util.cc b/src/nfc/nfc_util.cc index 46be48be..8a5928fe 100644 --- a/src/nfc/nfc_util.cc +++ b/src/nfc/nfc_util.cc @@ -336,7 +336,7 @@ unsigned char* NFCUtil::DoubleArrayToUCharArray(const picojson::array& array_in) ScopeLogger(); unsigned char* result_array = new unsigned char[array_in.size()]; for (std::size_t i = 0; i < array_in.size(); ++i) { - result_array[i] = static_cast(array_in.at(i).get()); + result_array[i] = (int) array_in.at(i).get(); } return result_array; }