dhcp6, radv: only accept valid ifindex
This commit is contained in:
parent
838d39af93
commit
7fa69c0a6f
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue