diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2020-07-02 08:45:33 +0200 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2020-07-02 09:58:06 +0200 |
commit | 7fa69c0a6f8a0e5425856d7f74c3e44834077f6b (patch) | |
tree | 93c38af19d310891580a0ead9eb80f54b7b224b4 | |
parent | network: Allow DHCPv6 client to start solicit mode (diff) | |
download | systemd-7fa69c0a6f8a0e5425856d7f74c3e44834077f6b.tar.xz systemd-7fa69c0a6f8a0e5425856d7f74c3e44834077f6b.zip |
dhcp6, radv: only accept valid ifindex
-rw-r--r-- | src/libsystemd-network/sd-dhcp6-client.c | 2 | ||||
-rw-r--r-- | src/libsystemd-network/sd-radv.c | 2 | ||||
-rw-r--r-- | src/libsystemd-network/test-dhcp6-client.c | 2 | ||||
-rw-r--r-- | src/libsystemd-network/test-ndisc-ra.c | 4 |
4 files changed, 5 insertions, 5 deletions
diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c index e1572703e2..7a8823cce9 100644 --- a/src/libsystemd-network/sd-dhcp6-client.c +++ b/src/libsystemd-network/sd-dhcp6-client.c @@ -159,7 +159,7 @@ int sd_dhcp6_client_set_callback( int sd_dhcp6_client_set_ifindex(sd_dhcp6_client *client, int ifindex) { assert_return(client, -EINVAL); - assert_return(ifindex >= -1, -EINVAL); + assert_return(ifindex > 0, -EINVAL); assert_return(IN_SET(client->state, DHCP6_STATE_STOPPED), -EBUSY); client->ifindex = ifindex; diff --git a/src/libsystemd-network/sd-radv.c b/src/libsystemd-network/sd-radv.c index 7ea6f0d561..cc5c0223b5 100644 --- a/src/libsystemd-network/sd-radv.c +++ b/src/libsystemd-network/sd-radv.c @@ -415,7 +415,7 @@ _public_ int sd_radv_start(sd_radv *ra) { _public_ int sd_radv_set_ifindex(sd_radv *ra, int ifindex) { assert_return(ra, -EINVAL); - assert_return(ifindex >= -1, -EINVAL); + assert_return(ifindex > 0, -EINVAL); if (ra->state != SD_RADV_STATE_IDLE) return -EBUSY; diff --git a/src/libsystemd-network/test-dhcp6-client.c b/src/libsystemd-network/test-dhcp6-client.c index 56c8c978e5..fb6df71b22 100644 --- a/src/libsystemd-network/test-dhcp6-client.c +++ b/src/libsystemd-network/test-dhcp6-client.c @@ -48,7 +48,7 @@ static int test_client_basic(sd_event *e) { assert_se(sd_dhcp6_client_set_ifindex(client, 15) == 0); assert_se(sd_dhcp6_client_set_ifindex(client, -42) == -EINVAL); - assert_se(sd_dhcp6_client_set_ifindex(client, -1) == 0); + assert_se(sd_dhcp6_client_set_ifindex(client, -1) == -EINVAL); assert_se(sd_dhcp6_client_set_ifindex(client, 42) >= 0); assert_se(sd_dhcp6_client_set_mac(client, (const uint8_t *) &mac_addr, diff --git a/src/libsystemd-network/test-ndisc-ra.c b/src/libsystemd-network/test-ndisc-ra.c index 7c6c4663f3..afd50d8fe3 100644 --- a/src/libsystemd-network/test-ndisc-ra.c +++ b/src/libsystemd-network/test-ndisc-ra.c @@ -159,8 +159,8 @@ static void test_radv(void) { assert_se(ra); assert_se(sd_radv_set_ifindex(NULL, 0) < 0); - assert_se(sd_radv_set_ifindex(ra, 0) >= 0); - assert_se(sd_radv_set_ifindex(ra, -1) >= 0); + assert_se(sd_radv_set_ifindex(ra, 0) < 0); + assert_se(sd_radv_set_ifindex(ra, -1) < 0); assert_se(sd_radv_set_ifindex(ra, -2) < 0); assert_se(sd_radv_set_ifindex(ra, 42) >= 0); |