File tree Expand file tree Collapse file tree 1 file changed +8
-3
lines changed Expand file tree Collapse file tree 1 file changed +8
-3
lines changed Original file line number Diff line number Diff line change @@ -295,7 +295,7 @@ static enum net_verdict handle_echo_request(struct net_pkt *orig)
295
295
struct net_pkt * pkt ;
296
296
struct net_buf * frag ;
297
297
struct net_if * iface ;
298
- u16_t payload_len ;
298
+ s16_t payload_len ;
299
299
int ret ;
300
300
301
301
NET_DBG ("Received Echo Request from %s to %s" ,
@@ -304,13 +304,18 @@ static enum net_verdict handle_echo_request(struct net_pkt *orig)
304
304
305
305
iface = net_pkt_iface (orig );
306
306
307
+ payload_len = ntohs (NET_IPV6_HDR (orig )-> len ) -
308
+ net_pkt_ipv6_ext_len (orig ) - NET_ICMPH_LEN ;
309
+ if (payload_len < NET_ICMPV6_UNUSED_LEN ) {
310
+ /* No identifier or sequence number present */
311
+ goto drop_no_pkt ;
312
+ }
313
+
307
314
pkt = net_pkt_get_reserve_tx (0 , PKT_WAIT_TIME );
308
315
if (!pkt ) {
309
316
goto drop_no_pkt ;
310
317
}
311
318
312
- payload_len = ntohs (NET_IPV6_HDR (orig )-> len ) - sizeof (NET_ICMPH_LEN ) -
313
- NET_ICMPV6_UNUSED_LEN ;
314
319
frag = net_pkt_copy_all (orig , 0 , PKT_WAIT_TIME );
315
320
if (!frag ) {
316
321
goto drop ;
You can’t perform that action at this time.
0 commit comments