diff --git a/pkgs/zerotier-members/zerotier-members.py b/pkgs/zerotier-members/zerotier-members.py index 3743db7c4..d1f267c36 100755 --- a/pkgs/zerotier-members/zerotier-members.py +++ b/pkgs/zerotier-members/zerotier-members.py @@ -17,8 +17,16 @@ def compute_zerotier_ip(network_id: str, identity: str) -> ipaddress.IPv6Address if len(network_id) != 16: msg = f"network_id must be 16 characters long, got {network_id}" raise ClanError(msg) - nwid = int(network_id, 16) - node_id = int(identity, 16) + try: + nwid = int(network_id, 16) + except ValueError: + msg = f"network_id must be a valid hexadecimal string, got {network_id}" + raise ClanError(msg) from None + try: + node_id = int(identity, 16) + except ValueError: + msg = f"identity must be a valid hexadecimal string, got {identity}" + raise ClanError(msg) from None addr_parts = bytearray( [ 0xFD,