You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(corekit): a non-final Info subclass built after its parent leaks internal keys from to_dict() #1490
Describe the bug
Once a non-final Info parent has been instantiated, its non-final children are never finalised. Their to_dict(), len() and iteration then include internal names.
Expected behavior ['a', 'b'], whichever class was built first.
System information
Linux, CPython 3.14.7, main at 00d232890.
Additional context Info.__new__ finalises automatically only while __finalised__ reads NONE (pcapkit/corekit/infoclass.py:435). The child instead inherits the parent's BASE (:223), and keeps the __excluded__ it copied at class creation, without the names info_final adds (:146). This affects these real models when an intermediate one is built first:
hopopt/ipv6_optsQuickStartOption and SMFDPDOption;
Activity
test(corekit): field, schema and Info round trips (#1202)
JarryShaw commentedon Oct 9, 2026
Blocked until #1492 merges. #1492 adds the
Gaprow for this defect totests/corekit/_roundtrip.py, and the fix must delete that row in the same PR.test(corekit): field, schema and Info round trips (#1202) (#1492)
JarryShaw commentedon Oct 9, 2026
Unblocked: #1492 merged (
d9e12e82e). A worker is starting on this against currentmain; the fix PR deletes this defect'sGaprow.fix(corekit): finalise each non-final Info subclass on its own state (#…
fix(corekit): finalise each non-final Info subclass on its own state (#…