Skip to content

Conversation

@vstinner
Copy link
Member

@vstinner vstinner commented Nov 21, 2022

Fix potential race condition in code patterns:

  • Replace "Py_DECREF(var); var = new;" with "Py_SETREF(var, new);"
  • Replace "Py_XDECREF(var); var = new;" with "Py_XSETREF(var, new);"
  • Replace "Py_CLEAR(var); var = new;" with "Py_XSETREF(var, new);"

Other changes:

  • Replace "old = var; var = new; Py_DECREF(var)" with "Py_SETREF(var, new);"
  • Replace "old = var; var = new; Py_XDECREF(var)" with "Py_XSETREF(var, new);"
  • And remove the "old" variable.

@erlend-aasland
Copy link
Contributor

LGTM (for the sqlite3 changes)

Fix potential race condition in code patterns:

* Replace "Py_DECREF(var); var = new;" with "Py_SETREF(var, new);"
* Replace "Py_XDECREF(var); var = new;" with "Py_XSETREF(var, new);"
* Replace "Py_CLEAR(var); var = new;" with "Py_XSETREF(var, new);"

Other changes:

* Replace "old = var; var = new; Py_DECREF(var)"
  with "Py_SETREF(var, new);"
* Replace "old = var; var = new; Py_XDECREF(var)"
  with "Py_XSETREF(var, new);"
* And remove the "old" variable.
@vstinner
Copy link
Member Author

vstinner commented Nov 22, 2022

I rebased and modified my PR to add a second change to Modules/_datetimemodule.c.

@vstinner vstinner merged commit 7e3f09c into python:main Nov 22, 2022
@vstinner vstinner deleted the py_only_setref branch November 22, 2022 13:34
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.

3 participants