فهرست منبع

DatagramPeerIO: add missing size check

ambrop7 14 سال پیش
والد
کامیت
5a8b6ffeff
1فایلهای تغییر یافته به همراه6 افزوده شده و 0 حذف شده
  1. 6 0
      client/DatagramPeerIO.c

+ 6 - 0
client/DatagramPeerIO.c

@@ -158,6 +158,12 @@ int DatagramPeerIO_Init (
     // set no handlers
     o->handler_error = NULL;
     
+    // check num frames (for FragmentProtoAssembler)
+    if (num_frames >= FPA_MAX_TIME) {
+        BLog(BLOG_ERROR, "num_frames is too big");
+        goto fail0;
+    }
+    
     // check payload MTU (for FragmentProto)
     if (o->payload_mtu > UINT16_MAX) {
         BLog(BLOG_ERROR, "payload MTU is too big");