diff --git a/src/core/modules/filters/filters_recipients.h b/src/core/modules/filters/filters_recipients.h old mode 100644 new mode 100755 index 569cf1ed7..cc6d3a132 --- a/src/core/modules/filters/filters_recipients.h +++ b/src/core/modules/filters/filters_recipients.h @@ -114,7 +114,7 @@ class MRecipientFilter : public IRecipientFilter object self = cls(); object add_recipient = self.attr("add_recipient"); - IRecipientFilter *pFilter = (IRecipientFilter *)ExtractAddress(oPtr); + IRecipientFilter *pFilter = (IRecipientFilter *)ExtractAddress(oPtr, true); for (int i=0; i < pFilter->GetRecipientCount(); i++) { add_recipient(pFilter->GetRecipientIndex(i)); } diff --git a/src/core/modules/memory/memory_utilities.h b/src/core/modules/memory/memory_utilities.h index e7b43df22..7a644ef01 100755 --- a/src/core/modules/memory/memory_utilities.h +++ b/src/core/modules/memory/memory_utilities.h @@ -78,6 +78,9 @@ inline unsigned long ExtractAddress(object oPtr, bool bValidate = false) pPtr = extractor(); } + if (!pPtr) + BOOST_RAISE_EXCEPTION(PyExc_ValueError, "None was passed, expected NULL or Pointer(0).") + if (bValidate) pPtr->Validate();