diff --git a/Objects/exceptions.c b/Objects/exceptions.c
index 0cd819c..b73a3f0 100644
--- a/Objects/exceptions.c
+++ b/Objects/exceptions.c
@@ -33,6 +33,8 @@
     PyBaseExceptionObject *self;
 
     self = (PyBaseExceptionObject *)type->tp_alloc(type, 0);
+    if (!self)
+        return NULL;
     /* the dict is created on the fly in PyObject_GenericSetAttr */
     self->message = self->dict = NULL;
 
diff --git a/Objects/longobject.c b/Objects/longobject.c
index cb4900d..7bf04d2 100644
--- a/Objects/longobject.c
+++ b/Objects/longobject.c
@@ -1739,6 +1739,8 @@
 	     a->ob_digit[size_a-1] < b->ob_digit[size_b-1])) {
 		/* |a| < |b|. */
 		*pdiv = _PyLong_New(0);
+		if (*pdiv == NULL)
+			return -1;
 		Py_INCREF(a);
 		*prem = (PyLongObject *) a;
 		return 0;
@@ -1749,6 +1751,10 @@
 		if (z == NULL)
 			return -1;
 		*prem = (PyLongObject *) PyLong_FromLong((long)rem);
+		if (*prem == NULL) {
+			Py_DECREF(z);
+			return -1;
+		}
 	}
 	else {
 		z = x_divrem(a, b, prem);
@@ -3204,6 +3210,8 @@
 {
 	if (PyInt_Check(*pw)) {
 		*pw = PyLong_FromLong(PyInt_AS_LONG(*pw));
+		if (*pw == NULL)
+			return -1;
 		Py_INCREF(*pv);
 		return 0;
 	}
