diff --git a/src/core/ipv4/ip.c b/src/core/ipv4/ip.c index 8e1a8370..73b66db9 100644 --- a/src/core/ipv4/ip.c +++ b/src/core/ipv4/ip.c @@ -543,8 +543,6 @@ ip_input(struct pbuf *p, struct netif *inp) if (raw_input(p, inp) == 0) #endif /* LWIP_RAW */ { - pbuf_header(p, -iphdr_hlen); /* Move to payload, no check necessary. */ - switch (IPH_PROTO(iphdr)) { #if LWIP_UDP case IP_PROTO_UDP: @@ -577,7 +575,6 @@ ip_input(struct pbuf *p, struct netif *inp) /* send ICMP destination protocol unreachable unless is was a broadcast */ if (!ip_addr_isbroadcast(¤t_iphdr_dest, inp) && !ip_addr_ismulticast(¤t_iphdr_dest)) { - pbuf_header(p, iphdr_hlen); /* Move to ip header, no check necessary. */ p->payload = iphdr; icmp_dest_unreach(p, ICMP_DUR_PROTO); } diff --git a/src/core/tcp_in.c b/src/core/tcp_in.c index bb1c5af4..02970379 100644 --- a/src/core/tcp_in.c +++ b/src/core/tcp_in.c @@ -411,6 +411,7 @@ aborted: LWIP_ASSERT("tcp_input: tcp_pcbs_sane()", tcp_pcbs_sane()); PERF_STOP("tcp_input"); + return; dropped: TCP_STATS_INC(tcp.drop); snmp_inc_tcpinerrs();