PyModule_AddObject steals a reference.  Fix all of the double calls to it by adding a Py_INCREF.  Also, some other assorted hacks which probably shouldn't be necessary but are at the moment.
diff --git a/src/ssl/ssl.c b/src/ssl/ssl.c
index 94d4844..1f12d67 100644
--- a/src/ssl/ssl.c
+++ b/src/ssl/ssl.c
@@ -92,8 +92,12 @@
 } while (0)
 
     ssl_Error = PyErr_NewException("OpenSSL.SSL.Error", NULL, NULL);
-    if (ssl_Error == NULL)
+    if (ssl_Error == NULL) {
         goto error;
+    }
+    /* XXX PyPy hack */
+    Py_INCREF(ssl_Error);
+
     if (PyModule_AddObject(module, "Error", ssl_Error) != 0)
         goto error;