Basisfunktionen gehen !
authorHenning Rogge <hrogge@googlemail.com>
Sat, 28 Nov 2009 15:26:10 +0000 (16:26 +0100)
committerHenning Rogge <hrogge@googlemail.com>
Sat, 28 Nov 2009 15:26:10 +0000 (16:26 +0100)
src/link_set.c
src/parser.c

index 8302b05..406dfd3 100644 (file)
@@ -887,7 +887,6 @@ generate_hello(void *p) {
 
       /* fix length field of hello block */
       if (linkstart != NULL) {
-        fprintf(stderr, "curr: %zu   linkstart: %zu    size: %u\n", (size_t)curr, (size_t)linkstart, (uint16_t)(curr + 2 - linkstart));
         pkt_put_u16(&linkstart, (uint16_t)(curr + 2 - linkstart));
       }
     }
index 7ef6a7e..7ad42cd 100644 (file)
@@ -256,7 +256,10 @@ parse_packet(uint8_t *binary, int size, struct interface *in_if, union olsr_ip_a
 
   for (;curr <= end - MIN_MESSAGE_SIZE(); curr += msg.size) {
     const uint8_t *msg_payload = curr;
+    const uint8_t *msg_end;
+
     olsr_parse_msg_hdr(&msg_payload, &msg);
+    msg_end = curr + msg.size;
 
     /* Check size of message */
     if (curr + msg.size > end) {
@@ -298,7 +301,7 @@ parse_packet(uint8_t *binary, int size, struct interface *in_if, union olsr_ip_a
         /* Should be the same for IPv4 and IPv6 */
         /* Promiscuous or exact match */
         if ((entry->type == PROMISCUOUS) || (entry->type == msg.type)) {
-          entry->function(&msg, curr, end, in_if, from_addr, dup_status);
+          entry->function(&msg, msg_payload, msg_end, in_if, from_addr, dup_status);
         }
       }
     }