changeset 332:81a205fc651e

Do not exit on error
author Andre Heinecke <aheinecke@intevation.de>
date Tue, 08 Apr 2014 17:47:35 +0000
parents 455d6d00e896
children 26817025351f
files cinst/mozilla.c common/certhelp.c
diffstat 2 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/cinst/mozilla.c	Tue Apr 08 15:09:13 2014 +0000
+++ b/cinst/mozilla.c	Tue Apr 08 17:47:35 2014 +0000
@@ -370,6 +370,11 @@
   size_t name_len;
   cn_str = x509_parse_subject(secitemp->data, secitemp->len, CERT_OID_CN);
   o_str = x509_parse_subject(secitemp->data, secitemp->len, CERT_OID_O);
+  if (!cn_str || !o_str)
+    {
+      DEBUGPRINTF("FATAL: Could not parse certificate!");
+      exit(ERR_INVALID_CERT);
+    }
   name_len = strlen(cn_str) + strlen(o_str) + 4;
   name = (char *)xmalloc(name_len);
   snprintf(name, name_len, "%s - %s", cn_str, o_str);
--- a/common/certhelp.c	Tue Apr 08 15:09:13 2014 +0000
+++ b/common/certhelp.c	Tue Apr 08 17:47:35 2014 +0000
@@ -33,8 +33,8 @@
   x509_crt_init(&chain);
   if (x509_crt_parse_der(&chain, derdata, derlen) != 0)
     {
-      DEBUGPRINTF("FATAL: Could not parse certificate!");
-      exit(ERR_INVALID_CERT);
+      ERRORPRINTF("Could not parse certificate!\n");
+      return NULL;
     }
   else
     {

http://wald.intevation.org/projects/trustbridge/