classification
Title: PyObject_IsTrue failure checks
Type: resource usage Stage: resolved
Components: Interpreter Core, Library (Lib) Versions: Python 3.2, Python 3.3, Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: asvetlov, jcea, pitrou, python-dev, serhiy.storchaka
Priority: normal Keywords: needs review, patch

Created on 2012-08-09 15:24 by serhiy.storchaka, last changed 2012-08-16 01:07 by jcea. This issue is now closed.

Files
File name Uploaded Description Edit
istrue_check-3.3.patch serhiy.storchaka, 2012-08-09 15:24 Patch for 3.3 review
istrue_check-3.2.patch serhiy.storchaka, 2012-08-09 15:25 Patch for 3.2 review
istrue_check-2.7.patch serhiy.storchaka, 2012-08-09 15:25 Patch for 2.7 review
istrue_check-3.3_2.patch serhiy.storchaka, 2012-08-14 21:45 review
istrue_check-3.2_2.patch serhiy.storchaka, 2012-08-14 21:45 review
istrue_check-2.7_2.patch serhiy.storchaka, 2012-08-14 21:45 review
istrue_check-3.3_3.patch serhiy.storchaka, 2012-08-15 20:55 review
istrue_check-3.2_3.patch serhiy.storchaka, 2012-08-15 20:56 review
istrue_check-2.7_3.patch serhiy.storchaka, 2012-08-15 20:56 review
Messages (7)
msg167789 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2012-08-09 15:24
PyObject_IsTrue can fail, but not everywhere in a code a returned value checked. Here is a patches which add such checks.

Note, patches for all three Python versions are rather different.
msg167794 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2012-08-09 17:04
Is it possible to add test cases for (at least some of) these issues?
msg167906 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2012-08-10 18:37
I shall try to do this, but it will take a lot of time. Besides, now in the code there are a lot of *correct* checked usage of PyObject_IsTrue without test cases. So I'm not sure that the tests are needed here, and that they are worth the effort.
msg168243 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2012-08-14 21:45
Patches updated to reflect Antoine's comments.
msg168337 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2012-08-15 20:56
Patches updated again.
msg168339 - (view) Author: Roundup Robot (python-dev) Date: 2012-08-15 21:27
New changeset ba1c48f8b571 by Antoine Pitrou in branch '2.7':
Issue #15604: Update uses of PyObject_IsTrue() to check for and handle errors correctly.
http://hg.python.org/cpython/rev/ba1c48f8b571

New changeset 56dc7b09f390 by Antoine Pitrou in branch '3.2':
Issue #15604: Update uses of PyObject_IsTrue() to check for and handle errors correctly.
http://hg.python.org/cpython/rev/56dc7b09f390

New changeset b878df1d23b1 by Antoine Pitrou in branch 'default':
Issue #15604: Update uses of PyObject_IsTrue() to check for and handle errors correctly.
http://hg.python.org/cpython/rev/b878df1d23b1
msg168341 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2012-08-15 21:45
Thank you Antoine.
History
Date User Action Args
2012-08-16 01:07:16jceasetnosy: + jcea
2012-08-15 21:45:36serhiy.storchakasetstatus: open -> closed
resolution: fixed
messages: + msg168341

stage: patch review -> resolved
2012-08-15 21:27:24python-devsetnosy: + python-dev
messages: + msg168339
2012-08-15 20:56:02serhiy.storchakasetfiles: + istrue_check-3.3_3.patch, istrue_check-3.2_3.patch, istrue_check-2.7_3.patch

messages: + msg168337
2012-08-14 21:45:22serhiy.storchakasetfiles: + istrue_check-3.3_2.patch, istrue_check-3.2_2.patch, istrue_check-2.7_2.patch

messages: + msg168243
2012-08-13 12:56:58asvetlovsetnosy: + asvetlov
2012-08-10 18:37:43serhiy.storchakasetmessages: + msg167906
2012-08-09 17:04:17pitrousetnosy: + pitrou
messages: + msg167794
2012-08-09 15:25:57serhiy.storchakasetfiles: + istrue_check-2.7.patch
2012-08-09 15:25:19serhiy.storchakasetfiles: + istrue_check-3.2.patch
2012-08-09 15:24:15serhiy.storchakacreate