Преглед на файлове

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;