Details
-
Bug
-
Resolution: Done
-
Not Evaluated
-
None
-
1.2.x
-
None
Description
The new hash function doesn't check to see if the provided object is valid before calculating the hash value. This can be seen in shiboken/libshiboken/basewrapper.cpp at line 754 and demonstrated using the following code:
>>> from PySide import QtCore
>>> import shiboken
>>> a = QtCore.QObject()
>>> b = QtCore.QObject(a)
>>> shiboken.isValid(a)
True
>>> shiboken.isValid(b)
True
>>> del a
>>> shiboken.isValid(b)
False
>>> hash(b)
Segmentation Fault