gh-99240: Fix double-free bug in Argument Clinic str_converter generated code#99241
Conversation
|
Most changes to Python require a NEWS entry. Please add it using the blurb_it web app or the blurb command-line tool. |
Sorry, something went wrong.
gpshead
left a comment
There was a problem hiding this comment.
overall this looks good, only a minor Python code modernization suggestion.
I do think your second bullet from the bug "If function _PyArg_ParseStack parses failed, assign all the parsed arguments to "NULL" after they are freed, this should be done in _PyArg_ParseStack." is also worth doing to make bugs like this less likely to occur. That can be done in its own PR.
Sorry, something went wrong.
|
Of particular note, since the generated files check in CI passed, does that mean we don't have any actual standard library argument clinic uses of this str conversion via codec functionality yet? |
Sorry, something went wrong.
Yes, I have searched this in CPython source code and didn't find any usage of argument clinic str conversion with "encoding" parameter setting. And test for this functionality is added in #96178, which has not been merged yet. |
Sorry, something went wrong.
|
Also, my preference, as stated in #96178 (comment), would be to first merge that PR (with a minimal test suite), and then for each bugfix PR (such as this one) add both the bugfix and the complementing test. So, I'm suggesting putting this on hold until #96178 is merged. |
Sorry, something went wrong.
erlend-aasland
left a comment
There was a problem hiding this comment.
LGTM with minor nitpicks :)
Sorry, something went wrong.
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
45886f1 to
9d08af5
Compare
November 24, 2022 11:30
# Conflicts: # Lib/test/test_clinic.py # Modules/_testclinic.c # Modules/clinic/_testclinic.c.h
erlend-aasland
left a comment
There was a problem hiding this comment.
Thanks!
Sorry, something went wrong.
@colorfulappl, are you up for fixing |
Sorry, something went wrong.
I have not started yet, but I am willing to have a try. :) |
Sorry, something went wrong.
|
Status check is done, and it's a success ✅. |
Sorry, something went wrong.
…verter generated code (pythonGH-99241) (cherry picked from commit 8dbe08e) Fix double-free bug mentioned at pythonGH-99240, by moving memory clean up out of "exit" label.
Fix double-free bug mentioned at #99240,
by moving memory clean up out of "exit" label.
str_convertergenerated code #99240Automerge-Triggered-By: GH:erlend-aasland