From 3c5723e49dee96aeaa6938bc1a46f1fcc462134d Mon Sep 17 00:00:00 2001 From: goldsimon Date: Wed, 21 Jul 2010 12:11:22 +0000 Subject: [PATCH] Fixed invalid fix for bug #30402 (CHECKSUM_GEN_IP_INLINE does not add IP options) --- CHANGELOG | 4 ++++ src/core/ipv4/ip.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index d0e15f2a..255c9496 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -229,6 +229,10 @@ HISTORY ++ Bugfixes: + 2010-07-21: Simon Goldschmidt + * ip.c: Fixed invalid fix for bug #30402 (CHECKSUM_GEN_IP_INLINE does not + add IP options) + 2010-07-16: Kieran Mansley * msg_in.c: Fixed SNMP ASN constant defines to not use ! operator diff --git a/src/core/ipv4/ip.c b/src/core/ipv4/ip.c index 862c609d..b5afb5a0 100644 --- a/src/core/ipv4/ip.c +++ b/src/core/ipv4/ip.c @@ -625,7 +625,7 @@ err_t ip_output_if_opt(struct pbuf *p, ip_addr_t *src, ip_addr_t *dest, memset(((char*)p->payload) + optlen, 0, optlen_aligned - optlen); } #if CHECKSUM_GEN_IP_INLINE - for (i = 0; i < optlen_aligned; i += sizeof(u16_t)) { + for (i = 0; i < optlen_aligned/2; i++) { chk_sum += ((u16_t*)p->payload)[i]; } #endif /* CHECKSUM_GEN_IP_INLINE */