30 lines
1016 B
Diff
30 lines
1016 B
Diff
From 03c5db001e79e40011c3478e14593cdad72c5c1d Mon Sep 17 00:00:00 2001
|
|
From: Mark Andrews <marka@isc.org>
|
|
Date: Mon, 26 Sep 2022 11:57:17 +1000
|
|
Subject: [PATCH] Check that 'e' and 'n' are allocated in opensslrsa_fromdns
|
|
|
|
Conflict: NA
|
|
Reference: https://gitlab.isc.org/isc-projects/bind9/-/commit/03c5db001e79e40011c3478e14593cdad72c5c1d
|
|
(cherry picked from commit db70c302138f02b6e1fca6e89cf2da35b2ca0ae4)
|
|
---
|
|
lib/dns/opensslrsa_link.c | 5 +++++
|
|
1 file changed, 5 insertions(+)
|
|
|
|
diff --git a/lib/dns/opensslrsa_link.c b/lib/dns/opensslrsa_link.c
|
|
index b23b6323fa..b744a62df9 100644
|
|
--- a/lib/dns/opensslrsa_link.c
|
|
+++ b/lib/dns/opensslrsa_link.c
|
|
@@ -671,6 +671,11 @@ opensslrsa_fromdns(dst_key_t *key, isc_buffer_t *data) {
|
|
e = BN_bin2bn(r.base, e_bytes, NULL);
|
|
isc_region_consume(&r, e_bytes);
|
|
n = BN_bin2bn(r.base, r.length, NULL);
|
|
+ if (e == NULL || n == NULL) {
|
|
+ RSA_free(rsa);
|
|
+ return (ISC_R_NOMEMORY);
|
|
+ }
|
|
+
|
|
if (RSA_set0_key(rsa, n, e, NULL) == 0) {
|
|
if (n != NULL) {
|
|
BN_free(n);
|
|
--
|
|
2.23.0
|