[nfc] delete buffer on every time for nfc_tag_transceive()
authorpius.lee <pius.lee@samsung.com>
Mon, 8 Jun 2015 10:36:41 +0000 (19:36 +0900)
committerpius.lee <pius.lee@samsung.com>
Mon, 8 Jun 2015 10:36:41 +0000 (19:36 +0900)
Because nfc_tag_transceive() copy input buffer.

Change-Id: I450cc2590ca8ec894a4f43d13d512f1acd49bf00

src/nfc/nfc_adapter.cc

index 61ce156..1f44177 100644 (file)
@@ -1246,11 +1246,11 @@ PlatformResult NFCAdapter::TagTransceive(int tag_id, const picojson::value& args
   int ret = nfc_tag_transceive(m_last_tag_handle, buffer,
       data_array.size(), tagTransceiveCb, (void*) callback_id_pointer);
 
+  delete[] buffer;
+  buffer = nullptr;
   if (NFC_ERROR_NONE != ret) {
     delete callback_id_pointer;
     callback_id_pointer = nullptr;
-    delete[] buffer;
-    buffer = nullptr;
 
     // for permission related error throw exception
     if(NFC_ERROR_SECURITY_RESTRICTED == ret ||