소스 검색

add some safety checks to enet_packet_resize

Lee Salzman 1 년 전
부모
커밋
0b924c79ce
1개의 변경된 파일8개의 추가작업 그리고 3개의 파일을 삭제
  1. 8 3
      packet.c

+ 8 - 3
packet.c

@@ -89,9 +89,14 @@ enet_packet_resize (ENetPacket * packet, size_t dataLength)
     if (newData == NULL)
       return -1;
 
-    memcpy (newData, packet -> data, packet -> dataLength);
-    enet_free (packet -> data);
-    
+    if (packet -> data != NULL)
+    {
+       if (packet -> dataLength > 0)
+         memcpy (newData, packet -> data, packet -> dataLength);
+
+       enet_free (packet -> data);
+    }
+
     packet -> data = newData;
     packet -> dataLength = dataLength;