From 9c9880a63f5a7aade75df1a7c982e1875ddd1aa3 Mon Sep 17 00:00:00 2001
From: Andrzej Kurek <andrzej.kurek@arm.com>
Date: Wed, 3 May 2023 05:06:47 -0400
Subject: [PATCH] Explicitly exit IPv4 parsing on a fatal error

This makes the function flow more readable.
Signed-off-by: Andrzej Kurek <andrzej.kurek@arm.com>
---
 library/x509_crt.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/library/x509_crt.c b/library/x509_crt.c
index 61929bea6f..6a27e92416 100644
--- a/library/x509_crt.c
+++ b/library/x509_crt.c
@@ -2684,7 +2684,7 @@ static int x509_inet_pton_ipv4(const char *src, void *dst)
             /* Don't allow leading zeroes. These might mean octal format,
              * which this implementation does not support. */
             if (octet == 0 && num_digits > 0) {
-                break;
+                return -1;
             }
 
             octet = octet * 10 + digit;
@@ -2693,7 +2693,7 @@ static int x509_inet_pton_ipv4(const char *src, void *dst)
         } while (num_digits < 3);
 
         if (octet >= 256 || num_digits > 3 || num_digits == 0) {
-            break;
+            return -1;
         }
         *res++ = (uint8_t) octet;
         num_octets++;