]> git.seodisparate.com - UDPConnection/commitdiff
Fix copying over data of received packet
authorStephen Seo <seo.disparate@gmail.com>
Mon, 30 Dec 2019 05:13:38 +0000 (14:13 +0900)
committerStephen Seo <seo.disparate@gmail.com>
Mon, 30 Dec 2019 05:16:05 +0000 (14:16 +0900)
src/UDPConnection.cpp

index 9b5efd78b0df31c76784e0ffb681c2e2bcbe7eea..6566b72d3ef9d48908e082209d73ebd89976534e 100644 (file)
@@ -1659,10 +1659,10 @@ void UDPC::Context::update_impl() {
 
     if(pktType == 0 && bytes > (int)UDPC_NSFULL_HEADER_SIZE) {
         UDPC_PacketInfo recPktInfo = UDPC::get_empty_pinfo();
-        std::memcpy(recPktInfo.data + UDPC_NSFULL_HEADER_SIZE,
-                    recvBuf,
-                    bytes - UDPC_NSFULL_HEADER_SIZE);
         recPktInfo.dataSize = bytes - UDPC_NSFULL_HEADER_SIZE;
+        std::memcpy(recPktInfo.data,
+                    recvBuf + UDPC_NSFULL_HEADER_SIZE,
+                    recPktInfo.dataSize);
         recPktInfo.flags =
             (isConnect ? 0x1 : 0)
             | (isPing ? 0x2 : 0)
@@ -1677,10 +1677,10 @@ void UDPC::Context::update_impl() {
         receivedPkts.push(recPktInfo);
     } else if(pktType == 1 && bytes > (int)UDPC_LSFULL_HEADER_SIZE) {
         UDPC_PacketInfo recPktInfo = UDPC::get_empty_pinfo();
-        std::memcpy(recPktInfo.data + UDPC_LSFULL_HEADER_SIZE,
-                    recvBuf,
-                    bytes - UDPC_LSFULL_HEADER_SIZE);
         recPktInfo.dataSize = bytes - UDPC_LSFULL_HEADER_SIZE;
+        std::memcpy(recPktInfo.data,
+                    recvBuf + UDPC_LSFULL_HEADER_SIZE,
+                    recPktInfo.dataSize);
         recPktInfo.flags =
             (isConnect ? 0x1 : 0)
             | (isPing ? 0x2 : 0)