Fix Issue #8687

Signed-off-by: Jonathan Winzig <jwinzig@hilscher.com>
diff --git a/library/x509_create.c b/library/x509_create.c
index 5e732d6..2c17cb1 100644
--- a/library/x509_create.c
+++ b/library/x509_create.c
@@ -380,6 +380,10 @@
 {
     mbedtls_asn1_named_data *cur;
 
+    if (0xFFFFFFFF == (uint32_t) val_len) {
+        return MBEDTLS_ERR_X509_BAD_INPUT_DATA;
+    }
+
     if ((cur = mbedtls_asn1_store_named_data(head, oid, oid_len,
                                              NULL, val_len + 1)) == NULL) {
         return MBEDTLS_ERR_X509_ALLOC_FAILED;