From 184693f4af2846dd89f473482e55df26c428da36 Mon Sep 17 00:00:00 2001
From: Kurt Roeckx <kurt@roeckx.be>
Date: Sat, 24 Jan 2015 15:04:53 +0100
Subject: [PATCH] Fix segfault with empty fields as last in the config.

Reviewed-by: Tim Hudson <tjh@openssl.org>
---
 crypto/asn1/asn1_gen.c  | 3 +++
 crypto/engine/eng_fat.c | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/crypto/asn1/asn1_gen.c b/crypto/asn1/asn1_gen.c
index 132a9ef468..aaec009f22 100644
--- a/crypto/asn1/asn1_gen.c
+++ b/crypto/asn1/asn1_gen.c
@@ -279,6 +279,9 @@ static int asn1_cb(const char *elem, int len, void *bitstr)
 
     int tmp_tag, tmp_class;
 
+    if (elem == NULL)
+        return 0;
+
     for (i = 0, p = elem; i < len; p++, i++) {
         /* Look for the ':' in name value pairs */
         if (*p == ':') {
diff --git a/crypto/engine/eng_fat.c b/crypto/engine/eng_fat.c
index bcb4c446b2..4279dd94b1 100644
--- a/crypto/engine/eng_fat.c
+++ b/crypto/engine/eng_fat.c
@@ -103,6 +103,8 @@ int ENGINE_set_default(ENGINE *e, unsigned int flags)
 static int int_def_cb(const char *alg, int len, void *arg)
 {
     unsigned int *pflags = arg;
+    if (alg == NULL)
+        return 0;
     if (!strncmp(alg, "ALL", len))
         *pflags |= ENGINE_METHOD_ALL;
     else if (!strncmp(alg, "RSA", len))
-- 
2.25.1