Merge remote-tracking branch 'origin/pr/2795' into development

* origin/pr/2795:
  Fix uninitialized variable in x509_crt
diff --git a/ChangeLog b/ChangeLog
index f00c6c1..d5aa838 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -62,6 +62,9 @@
      address-sanitizer and enabling but not using MBEDTLS_ECP_RESTARTABLE.
    * Fix memory leak in in mpi_miller_rabin(). Contributed by
      Jens Wiklander <jens.wiklander@linaro.org> in #2363
+   * Improve code clarity in x509_crt module, removing false-positive
+     uninitialized variable warnings on some recent toolchains (GCC8, etc).
+     Discovered and fixed by Andy Gross (Linaro), #2392.
 
 Changes
    * Replace multiple uses of MD2 by SHA-256 in X.509 test suite. Fixes #821.
diff --git a/library/x509_crt.c b/library/x509_crt.c
index b2c19db..48f244e 100644
--- a/library/x509_crt.c
+++ b/library/x509_crt.c
@@ -2611,15 +2611,13 @@
             continue;
         }
 
+        *r_parent = parent;
+        *r_signature_is_good = signature_is_good;
+
         break;
     }
 
-    if( parent != NULL )
-    {
-        *r_parent = parent;
-        *r_signature_is_good = signature_is_good;
-    }
-    else
+    if( parent == NULL )
     {
         *r_parent = fallback_parent;
         *r_signature_is_good = fallback_signature_is_good;