Skip to content

Commit 13b7b8b

Browse files
committed
network: neighbor: accept an empty string assignment
1 parent 17193d7 commit 13b7b8b

File tree

1 file changed

+17
-5
lines changed

1 file changed

+17
-5
lines changed

src/network/networkd-neighbor.c

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -611,20 +611,27 @@ int config_parse_neighbor_address(
611611
void *data,
612612
void *userdata) {
613613

614-
Network *network = userdata;
615614
_cleanup_(neighbor_free_or_set_invalidp) Neighbor *n = NULL;
615+
Network *network = userdata;
616616
int r;
617617

618618
assert(filename);
619619
assert(section);
620620
assert(lvalue);
621621
assert(rvalue);
622-
assert(data);
622+
assert(userdata);
623623

624624
r = neighbor_new_static(network, filename, section_line, &n);
625625
if (r < 0)
626626
return log_oom();
627627

628+
if (isempty(rvalue)) {
629+
n->family = AF_UNSPEC;
630+
n->in_addr = IN_ADDR_NULL;
631+
TAKE_PTR(n);
632+
return 0;
633+
}
634+
628635
r = in_addr_from_string_auto(rvalue, &n->family, &n->in_addr);
629636
if (r < 0) {
630637
log_syntax(unit, LOG_WARNING, filename, line, r,
@@ -633,7 +640,6 @@ int config_parse_neighbor_address(
633640
}
634641

635642
TAKE_PTR(n);
636-
637643
return 0;
638644
}
639645

@@ -649,20 +655,26 @@ int config_parse_neighbor_lladdr(
649655
void *data,
650656
void *userdata) {
651657

652-
Network *network = userdata;
653658
_cleanup_(neighbor_free_or_set_invalidp) Neighbor *n = NULL;
659+
Network *network = userdata;
654660
int r;
655661

656662
assert(filename);
657663
assert(section);
658664
assert(lvalue);
659665
assert(rvalue);
660-
assert(data);
666+
assert(userdata);
661667

662668
r = neighbor_new_static(network, filename, section_line, &n);
663669
if (r < 0)
664670
return log_oom();
665671

672+
if (isempty(rvalue)) {
673+
n->ll_addr = HW_ADDR_NULL;
674+
TAKE_PTR(n);
675+
return 0;
676+
}
677+
666678
r = parse_hw_addr(rvalue, &n->ll_addr);
667679
if (r < 0) {
668680
log_syntax(unit, LOG_WARNING, filename, line, r,

0 commit comments

Comments
 (0)