GeezerVison is showing github.com — gh-146245: Fix ref/buffer leaks in socketmodule.c on audit hook failure by kimimgo · Pull Request #146247 · python/cpython
Conversation
kimimgo
commented
Mar 21, 2026
•
edited by bedevere-app
Bot
Loading
Uh oh!
There was an error while loading. Please reload this page.
Fixes #146245
Summary
Two leak bugs in socketmodule.c when PySys_Audit raises:
1. getaddrinfo (line 6985)
return NULL skipped cleanup of idna and pstr refs. Changed to
goto err which properly calls Py_XDECREF on both.
2. sock_sendto (line 4811)
return NULL skipped PyBuffer_Release(&pbuf). Added the release
before the return, matching the pattern used in adjacent error paths.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
… failure
Fix two leak bugs in socketmodule.c when PySys_Audit raises:
1. getaddrinfo: 'return NULL' replaced with 'goto err' to ensure
idna and pstr refs are properly released via Py_XDECREF.
2. sock_sendto: Added PyBuffer_Release(&pbuf) before 'return NULL'
to release the Py_buffer when audit hook raises.
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.