bpo-35436: Add missing PyErr_NoMemory() calls and other minor bug fixes. (GH-11015) (GH-11020)

(cherry picked from commit 4c49da0cb7434c676d70b9ccf38aca82ac0d64a9)
diff --git a/Objects/capsule.c b/Objects/capsule.c
index acd3de6..4e15b44 100644
--- a/Objects/capsule.c
+++ b/Objects/capsule.c
@@ -201,7 +201,7 @@
     char *name_dup = (char *)PyMem_MALLOC(name_length);
 
     if (!name_dup) {
-        return NULL;
+        return PyErr_NoMemory();
     }
 
     memcpy(name_dup, name, name_length);