diff --git a/crypto/evp/evp_asn1.c b/crypto/evp/evp_asn1.c
index 4d13d59..2f3e115 100644
--- a/crypto/evp/evp_asn1.c
+++ b/crypto/evp/evp_asn1.c
@@ -407,6 +407,10 @@
 }
 
 int i2d_PUBKEY(const EVP_PKEY *pkey, uint8_t **outp) {
+  if (pkey == NULL) {
+    return 0;
+  }
+
   CBB cbb;
   if (!CBB_init(&cbb, 128) ||
       !EVP_marshal_public_key(&cbb, pkey)) {
@@ -440,6 +444,10 @@
 }
 
 int i2d_RSA_PUBKEY(const RSA *rsa, uint8_t **outp) {
+  if (rsa == NULL) {
+    return 0;
+  }
+
   int ret = -1;
   EVP_PKEY *pkey = EVP_PKEY_new();
   if (pkey == NULL ||
@@ -478,6 +486,10 @@
 }
 
 int i2d_DSA_PUBKEY(const DSA *dsa, uint8_t **outp) {
+  if (dsa == NULL) {
+    return 0;
+  }
+
   int ret = -1;
   EVP_PKEY *pkey = EVP_PKEY_new();
   if (pkey == NULL ||
@@ -516,6 +528,10 @@
 }
 
 int i2d_EC_PUBKEY(const EC_KEY *ec_key, uint8_t **outp) {
+  if (ec_key == NULL) {
+    return 0;
+  }
+
   int ret = -1;
   EVP_PKEY *pkey = EVP_PKEY_new();
   if (pkey == NULL ||
