Procházet zdrojové kódy

add some safety checks to enet_packet_resize

Lee Salzman před 1 rokem
rodič
revize
0b924c79ce
1 změnil soubory, kde provedl 8 přidání a 3 odebrání
  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;