paparazzi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[paparazzi-commits] [4248] Make the onboard logger somewhat more robust


From: Allen Ibara
Subject: [paparazzi-commits] [4248] Make the onboard logger somewhat more robust against undersized messages
Date: Tue, 13 Oct 2009 00:28:32 +0000

Revision: 4248
          http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=4248
Author:   aibara
Date:     2009-10-13 00:28:31 +0000 (Tue, 13 Oct 2009)
Log Message:
-----------
Make the onboard logger somewhat more robust against undersized messages

Modified Paths:
--------------
    paparazzi3/trunk/sw/airborne/fms/onboard_logger.c

Modified: paparazzi3/trunk/sw/airborne/fms/onboard_logger.c
===================================================================
--- paparazzi3/trunk/sw/airborne/fms/onboard_logger.c   2009-10-12 12:13:43 UTC 
(rev 4247)
+++ paparazzi3/trunk/sw/airborne/fms/onboard_logger.c   2009-10-13 00:28:31 UTC 
(rev 4248)
@@ -6,6 +6,8 @@
 
 static const char filter_exp[] = "dst port 4242 && udp";
 
+#define MIN_MSG_LENGTH 3
+
 static void got_pprz_message(const u_char *buf, const struct timeval *ts)
 {
   int i = 0;
@@ -47,6 +49,7 @@
   const struct ethernet_header *ethernet;
   const struct ip_header *ip;
   const struct udp_header *udp;
+  unsigned int msg_length;
 
   u_short udp_length;
   u_int size_ip;
@@ -76,7 +79,8 @@
       break;
     } 
     i++;
-    if (i + payload[i] <= udp_length) {
+    msg_length = payload[i];
+    if ((i + msg_length <= udp_length) && msg_length >= MIN_MSG_LENGTH) {
       got_pprz_message(payload + i, &header->ts);
       i += payload[i] - 1;
     } 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]