summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2018-11-20 13:57:25 +0100
committerBenoit Foucher <benoit@zeroc.com>2018-11-20 13:57:25 +0100
commit738347ababa8d1198f380e8022558cca2bcb7023 (patch)
treee3e4f7487cb8154cf11e953f2def507e76f02c07 /python
parentFixed Android compile/target SDK versions to use 26 (diff)
downloadice-738347ababa8d1198f380e8022558cca2bcb7023.tar.bz2
ice-738347ababa8d1198f380e8022558cca2bcb7023.tar.xz
ice-738347ababa8d1198f380e8022558cca2bcb7023.zip
Fixed Python segfault that could occur because of KeyboardInterrupt, fixes #107
Diffstat (limited to 'python')
-rw-r--r--python/modules/IcePy/Types.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/python/modules/IcePy/Types.cpp b/python/modules/IcePy/Types.cpp
index c1b8c5e5bea..209b7dd1101 100644
--- a/python/modules/IcePy/Types.cpp
+++ b/python/modules/IcePy/Types.cpp
@@ -4170,6 +4170,11 @@ PyObject*
IcePy::ExceptionInfo::unmarshal(Ice::InputStream* is)
{
PyObjectHandle p = createExceptionInstance(pythonType);
+ if(!p.get())
+ {
+ assert(PyErr_Occurred());
+ throw AbortMarshaling();
+ }
ExceptionInfoPtr info = this;
while(info)