From ff3bf6d7f5b55e73fb8191066b80c8e7aee45421 Mon Sep 17 00:00:00 2001 From: Simon Goldschmidt Date: Tue, 15 Jan 2013 21:10:32 +0100 Subject: [PATCH] fixed bug #37665 ip_canforward operates on address in wrong byte order --- CHANGELOG | 7 +++++-- src/core/ipv4/ip4.c | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index da494e4b..685b5687 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -80,12 +80,15 @@ HISTORY ++ Bugfixes: + 2013-01-15: Simon Goldschmidt + * ip4.c: fixed bug #37665 ip_canforward operates on address in wrong byte order + 2013-01-15: Simon Goldschmidt * pbuf.h: fixed bug #38097 pbuf_free_ooseq() warning - + 2013-01-14: Simon Goldschmidt * dns.c: fixed bug #37705 Possible memory corruption in DNS query - + 2013-01-11: Simon Goldschmidt * raw.c: fixed bug #38066 Raw pcbs can alter packet without eating it diff --git a/src/core/ipv4/ip4.c b/src/core/ipv4/ip4.c index 642d32a6..4b38999c 100644 --- a/src/core/ipv4/ip4.c +++ b/src/core/ipv4/ip4.c @@ -153,7 +153,7 @@ ip_route(ip_addr_t *dest) static int ip_canforward(struct pbuf *p) { - u32_t addr = ip4_addr_get_u32(ip_current_dest_addr()); + u32_t addr = htonl(ip4_addr_get_u32(ip_current_dest_addr())); if (p->flags & PBUF_FLAG_LLBCAST) { /* don't route link-layer broadcasts */