svn commit: r1935941 - httpd/httpd/trunk/modules/ssl

[email protected] Mon, 06 Jul 2026 12:08:49 -0000
Newsgroups gmane.comp.apache.cvs
Message-ID <178333972956.431467.13093058727139584472@svn03-he-fi>
Author: jorton
Date: Mon Jul  6 12:08:49 2026
New Revision: 1935941

Log:
* modules/ssl/ssl_util.c (ssl_asn1_table_set): Add assertion
  for the (likely unreachable) i2d_PrivateKey() failure case.

Submitted by: Sayed Kaif <metsw24 gmail.com>
Github: closes #619

Modified:
   httpd/httpd/trunk/modules/ssl/ssl_util.c

Modified: httpd/httpd/trunk/modules/ssl/ssl_util.c
==============================================================================
--- httpd/httpd/trunk/modules/ssl/ssl_util.c	Mon Jul  6 12:01:57 2026	(r1935940)
+++ httpd/httpd/trunk/modules/ssl/ssl_util.c	Mon Jul  6 12:08:49 2026	(r1935941)
@@ -201,9 +201,13 @@ ssl_asn1_t *ssl_asn1_table_set(apr_hash_
 {
     apr_ssize_t klen = strlen(key);
     ssl_asn1_t *asn1 = apr_hash_get(table, key, klen);
-    apr_size_t length = i2d_PrivateKey(pkey, NULL);
+    int derlen = i2d_PrivateKey(pkey, NULL);
+    apr_size_t length;
     unsigned char *p;
 
+    ap_assert(derlen > 0); /* should never happen for any loaded key */
+    length = (apr_size_t)derlen;
+
     /* Re-use structure if cached previously. */
     if (asn1) {
         if (asn1->nData != length) {