Skip to content

Detect incomplete EventEmitter lifecycle cleanup - #6

Merged
marccampbell merged 1 commit into
mainfrom
train/nodejs-public-evidence
Aug 12, 2026
Merged

marccampbell merged 1 commit into
mainfrom
train/nodejs-public-evidence

Conversation

@marccampbell

Copy link
Copy Markdown
Contributor

Closes #5.

Adds a focused Node.js reliability check for a shared teardown callback registered on several lifecycle events but not unregistered from all of them. The matcher requires the same receiver and named callback, literal lifecycle events, and teardown behavior, which keeps ordinary observers and unrelated emitters quiet.

Grounded in Node.js core review evidence: nodejs/node#64227 (comment)

Validation:

  • TypeScript build
  • 4 tests, including vulnerable and clean fixtures
  • adversary validate .
  • adversary pack --check .

@marccampbell
marccampbell merged commit b50fad7 into main Aug 12, 2026
1 check passed
@marccampbell
marccampbell deleted the train/nodejs-public-evidence branch August 12, 2026 05:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Flag cleanup callbacks that leave sibling EventEmitter listeners attached

1 participant