Check that IP is set before parsing
Machine is saved to db before it is assigned an ip, so we might have
empty ip fields coming back.
@@ -121,6 +121,7 @@ func (h *Headscale) getUsedIPs() ([]netaddr.IP, error) {
ips := make([]netaddr.IP, len(addresses))
for index, addr := range addresses {
+ if addr != "" {
ip, err := netaddr.ParseIP(addr)
if err != nil {
return nil, fmt.Errorf("failed to parse ip from database, %w", err)
@@ -128,6 +129,7 @@ func (h *Headscale) getUsedIPs() ([]netaddr.IP, error) {
ips[index] = ip
}
+ }
return ips, nil
}
