Added checking for maximum packet length.
[silc.git] / lib / silcclient / client.c
index af4de6513b719cd065905a6c275af92d8381c40c..5cbfc58816b6f2ce3391bdb34e40e60affad063b 100644 (file)
@@ -1234,6 +1234,9 @@ void silc_client_packet_send(SilcClient client,
     packetdata.dst_id_len = 0;
     packetdata.dst_id_type = SILC_ID_NONE;
   }
+  data_len = SILC_PACKET_DATALEN(data_len, (SILC_PACKET_HEADER_LEN +
+                                           packetdata.src_id_len + 
+                                           packetdata.dst_id_len));
   packetdata.truelen = data_len + SILC_PACKET_HEADER_LEN + 
     packetdata.src_id_len + packetdata.dst_id_len;
   packetdata.padlen = SILC_PACKET_PADLEN(packetdata.truelen, block_len);