diff --git a/src/cryptography/hazmat/bindings/openssl/bio.py b/src/cryptography/hazmat/bindings/openssl/bio.py
index d97debb..6cc1bcb 100644
--- a/src/cryptography/hazmat/bindings/openssl/bio.py
+++ b/src/cryptography/hazmat/bindings/openssl/bio.py
@@ -17,7 +17,7 @@
     int (*bwrite)(BIO *, const char *, int);
     int (*bread)(BIO *, char *, int);
     int (*bputs)(BIO *, const char *);
-    int (*bgets)(BIO *, char*, int);
+    int (*bgets)(BIO *, char *, int);
     long (*ctrl)(BIO *, int, long, void *);
     int (*create)(BIO *);
     int (*destroy)(BIO *);
@@ -27,7 +27,7 @@
 typedef struct bio_method_st BIO_METHOD;
 struct bio_st {
     BIO_METHOD *method;
-    long (*callback)(struct bio_st*, int, const char*, int, long, long);
+    long (*callback)(struct bio_st *, int, const char *, int, long, long);
     char *cb_arg;
     int init;
     int shutdown;
diff --git a/src/cryptography/hazmat/bindings/openssl/ecdsa.py b/src/cryptography/hazmat/bindings/openssl/ecdsa.py
index d5395be..db21025 100644
--- a/src/cryptography/hazmat/bindings/openssl/ecdsa.py
+++ b/src/cryptography/hazmat/bindings/openssl/ecdsa.py
@@ -34,7 +34,7 @@
 ECDSA_SIG *ECDSA_do_sign(const unsigned char *, int, EC_KEY *);
 ECDSA_SIG *ECDSA_do_sign_ex(const unsigned char *, int, const BIGNUM *,
                             const BIGNUM *, EC_KEY *);
-int ECDSA_do_verify(const unsigned char *, int, const ECDSA_SIG *, EC_KEY*);
+int ECDSA_do_verify(const unsigned char *, int, const ECDSA_SIG *, EC_KEY *);
 int ECDSA_sign_setup(EC_KEY *, BN_CTX *, BIGNUM **, BIGNUM **);
 int ECDSA_sign(int, const unsigned char *, int, unsigned char *,
                unsigned int *, EC_KEY *);
@@ -72,7 +72,7 @@
 ECDSA_SIG* (*ECDSA_do_sign_ex)(const unsigned char *, int, const BIGNUM *,
                                const BIGNUM *, EC_KEY *) = NULL;
 int (*ECDSA_do_verify)(const unsigned char *, int, const ECDSA_SIG *,
-                       EC_KEY*) = NULL;
+                       EC_KEY *) = NULL;
 int (*ECDSA_sign_setup)(EC_KEY *, BN_CTX *, BIGNUM **, BIGNUM **) = NULL;
 int (*ECDSA_sign)(int, const unsigned char *, int, unsigned char *,
                   unsigned int *, EC_KEY *) = NULL;
diff --git a/src/cryptography/hazmat/bindings/openssl/ssl.py b/src/cryptography/hazmat/bindings/openssl/ssl.py
index f2228b2..9a48f58 100644
--- a/src/cryptography/hazmat/bindings/openssl/ssl.py
+++ b/src/cryptography/hazmat/bindings/openssl/ssl.py
@@ -322,7 +322,7 @@
    RHEL/CentOS 5 this can be moved back to FUNCTIONS. */
 SSL_CTX *SSL_set_SSL_CTX(SSL *, SSL_CTX *);
 
-const SSL_METHOD *Cryptography_SSL_CTX_get_method(const SSL_CTX*);
+const SSL_METHOD *Cryptography_SSL_CTX_get_method(const SSL_CTX *);
 
 /* NPN APIs were introduced in OpenSSL 1.0.1.  To continue to support earlier
  * versions some special handling of these is necessary.
@@ -353,8 +353,8 @@
 /* ALPN APIs were introduced in OpenSSL 1.0.2.  To continue to support earlier
  * versions some special handling of these is necessary.
  */
-int SSL_CTX_set_alpn_protos(SSL_CTX *, const unsigned char*, unsigned);
-int SSL_set_alpn_protos(SSL *, const unsigned char*, unsigned);
+int SSL_CTX_set_alpn_protos(SSL_CTX *, const unsigned char *, unsigned);
+int SSL_set_alpn_protos(SSL *, const unsigned char *, unsigned);
 void SSL_CTX_set_alpn_select_cb(SSL_CTX *,
                                 int (*) (SSL *,
                                          const unsigned char **,
@@ -525,9 +525,9 @@
 /* ALPN was added in OpenSSL 1.0.2. */
 #if OPENSSL_VERSION_NUMBER < 0x10002001L
 int (*SSL_CTX_set_alpn_protos)(SSL_CTX *,
-                               const unsigned char*,
+                               const unsigned char *,
                                unsigned) = NULL;
-int (*SSL_set_alpn_protos)(SSL *, const unsigned char*, unsigned) = NULL;
+int (*SSL_set_alpn_protos)(SSL *, const unsigned char *, unsigned) = NULL;
 void (*SSL_CTX_set_alpn_select_cb)(SSL_CTX *,
                                    int (*) (SSL *,
                                             const unsigned char **,
