Do simple error checking before doing any SSL calls.
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 276afe2..7d1bb11 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -2512,14 +2512,14 @@
 	self->ctx = NULL;
 	self->Socket = NULL;
 
-	self->ctx = SSL_CTX_new(SSLv23_method()); /* Set up context */
-	if (self->ctx == NULL) {
-		errstr = "SSL_CTX_new error";
+	if ((key_file && !cert_file) || (!key_file && cert_file)) {
+		errstr = "Both the key & certificate files must be specified";
 		goto fail;
 	}
 
-	if ((key_file && !cert_file) || (!key_file && cert_file)) {
-		errstr = "Both the key & certificate files must be specified";
+	self->ctx = SSL_CTX_new(SSLv23_method()); /* Set up context */
+	if (self->ctx == NULL) {
+		errstr = "SSL_CTX_new error";
 		goto fail;
 	}