--- by_dir.c.orig	2016-03-02 15:29:32.361385958 -0800
+++ by_dir.c	2016-03-02 15:30:04.762503973 -0800
@@ -401,6 +401,10 @@
             }
             if (!hent) {
                 hent = OPENSSL_malloc(sizeof(BY_DIR_HASH));
+		if (hent == NULL) {
+		    X509err(X509_F_GET_CERT_BY_SUBJECT, ERR_R_MALLOC_FAILURE);
+		    goto finish;
+		}
                 hent->hash = h;
                 hent->suffix = k;
                 if (!sk_BY_DIR_HASH_push(ent->hashes, hent)) {
