Skip to content

Sending a packet to the Multicast Address with multiple interfaces causes Segmentation fault #11980

@benpicco

Description

@benpicco

Description

On RIOT, if there is more than once network interface, ping6 ff02::1 will cause a segmentation fault.

Steps to reproduce the issue

In examples/gnrc_networking:

$ ../../dist/tools/tapsetup/tapsetup
$ sed -i '1i#define NETDEV_TAP_MAX 2' ../../cpu/native/include/netdev_tap_params.h
$ make GNRC_NETIF_NUMOF=2
$ bin/native/gnrc_networking.elf tap0 tap1
> ping6 ff02::1

Program received signal SIGSEGV, Segmentation fault.
0x5656dc02 in _fill_ipv6_hdr (netif=0x5659dcd8 <_netifs+312>, ipv6=0x5659de68 <_pktbuf+40>)
    at /home/benpicco/dev/RIOT/sys/net/gnrc/network_layer/ipv6/gnrc_ipv6.c:308
308	    hdr->len = byteorder_htons(gnrc_pkt_len(ipv6->next));
(gdb) p hdr
$1 = (ipv6_hdr_t *) 0x40

Expected results

The packet should be send over both interfaces.
Also, ipv6->data should point to a valid address.

Actual results

RIOT crashes. This happens both on native and on actual hardware.

Versions

RIOT master (ca2b008)

Metadata

Metadata

Assignees

Labels

Area: networkArea: NetworkingType: bugThe issue reports a bug / The PR fixes a bug (including spelling errors)

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions