浏览代码

better error message when datagram too large

David Rose 21 年之前
父节点
当前提交
f8000948e5
共有 1 个文件被更改,包括 9 次插入0 次删除
  1. 9 0
      panda/src/net/connection.cxx

+ 9 - 0
panda/src/net/connection.cxx

@@ -25,6 +25,7 @@
 #include "config_net.h"
 #include "config_express.h" // for collect_tcp
 #include "clockObject.h"
+#include "notify.h"
 
 
 ////////////////////////////////////////////////////////////////////
@@ -392,6 +393,14 @@ send_datagram(const NetDatagram &datagram) {
   }
 
   // We might queue up TCP packets for later sending.
+  if (datagram.get_length() >= 0x10000) {
+    net_cat.error()
+      << "Attempt to send TCP datagram of " << datagram.get_length()
+      << " bytes--too long!\n";
+    nassert_raise("Datagram too long");
+    return false;
+  }
+
   DatagramTCPHeader header(datagram);
 
   PR_Lock(_write_mutex);