Fix wrong implementation of packet class 92/256492/1
authorHwankyu Jhun <h.jhun@samsung.com>
Mon, 5 Apr 2021 10:24:24 +0000 (19:24 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Mon, 5 Apr 2021 10:24:24 +0000 (19:24 +0900)
Change-Id: Id7a543306810a57543e1f6644c6659cf40af9acd
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
aul/socket/packet.cc

index c531e48..4ff8507 100644 (file)
@@ -88,8 +88,13 @@ void Packet::ReadFromParcel(tizen_base::Parcel* parcel) {
   parcel->ReadInt32(&size);
   parcel->ReadInt32(&opt_);
   if (size > 0) {
-    auto* p = reinterpret_cast<unsigned char*>(&data_[0]);
-    parcel->Read(p, size);
+    auto* data = new (std::nothrow) unsigned char [size];
+    if (data == nullptr)
+      return;
+
+    std::unique_ptr<unsigned char[]> ptr(data);
+    parcel->Read(data, size);
+    std::copy(data, data + size, std::back_inserter(data_));
   }
 }