Browse Source

add some safety checks to enet_packet_resize

Lee Salzman 1 year ago
parent
commit
0b924c79ce
1 changed files with 8 additions and 3 deletions
  1. 8 3
      packet.c

+ 8 - 3
packet.c

@@ -89,9 +89,14 @@ enet_packet_resize (ENetPacket * packet, size_t dataLength)
     if (newData == NULL)
     if (newData == NULL)
       return -1;
       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 -> data = newData;
     packet -> dataLength = dataLength;
     packet -> dataLength = dataLength;