Skip to content

gh-156680: Raise the documented error from IPv6Network.next_network() - #156681

Open
fedonman wants to merge 1 commit into
python:mainfrom
fedonman:fix-ipaddress-next-network-ipv6
Open

gh-156680: Raise the documented error from IPv6Network.next_network()#156681
fedonman wants to merge 1 commit into
python:mainfrom
fedonman:fix-ipaddress-next-network-ipv6

Conversation

@fedonman

@fedonman fedonman commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Range-check next_ip against _ALL_ONES in next_network() instead of catching OverflowError, which only the IPv4 path raises. The IPv6 path went through _BaseV6._string_from_ip_int(), whose ValueError escaped uncaught.

next_network() is new in 3.16 and unreleased, so this is folded into the entry the method landed with and needs no NEWS fragment.

testNextNetworkOutOfAddressSpace (test.test_ipaddress.IpaddrUnitTest.testNextNetworkOutOfAddressSpace) ... ok
Total tests: run=1 (filtered)
Result: SUCCESS
Total tests: run=215
Result: SUCCESS

…work()

next_network() guarded address-space exhaustion with except
OverflowError, which only int.to_bytes() on the IPv4 path raises.
_BaseV6._string_from_ip_int() raises ValueError instead, so the
handler never ran for IPv6 and the internal 'IPv6 address is too
large' message escaped.

Range-check next_ip against _ALL_ONES before formatting it, which
decides the outcome for both address families before either path
runs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant