bind/backport-Add-missing-DbC-magic-checks.patch
zhang-hao-jon 0003f50e3d bind:fix some patches from commity
(cherry picked from commit 65429159526fd046e9fcdd9a0d9c2bd0fd028ec6)
2023-02-27 09:25:18 +08:00

64 lines
2.0 KiB
Diff

From f9845df6d61e7491508a7f54b1d3caab7641652e Mon Sep 17 00:00:00 2001
From: Mark Andrews <marka@isc.org>
Date: Thu, 1 Dec 2022 12:51:30 +1100
Subject: [PATCH] Add missing DbC magic checks
Checking for value != NULL is not sufficient to detect use after
free errors.
(cherry picked from commit b1086a5561c8024fc39b5250063fc901c27eef06)
---
lib/dns/catz.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/lib/dns/catz.c b/lib/dns/catz.c
index 332f9877360..68927e84bbf 100644
--- a/lib/dns/catz.c
+++ b/lib/dns/catz.c
@@ -638,7 +638,7 @@ cleanup_ht:
void
dns_catz_catzs_set_view(dns_catz_zones_t *catzs, dns_view_t *view) {
REQUIRE(DNS_CATZ_ZONES_VALID(catzs));
- REQUIRE(view != NULL);
+ REQUIRE(DNS_VIEW_VALID(view));
/* Either it's a new one or it's being reconfigured. */
REQUIRE(catzs->view == NULL || !strcmp(catzs->view->name, view->name));
@@ -834,7 +834,7 @@ void
dns_catz_catzs_detach(dns_catz_zones_t **catzsp) {
dns_catz_zones_t *catzs;
- REQUIRE(catzsp != NULL && *catzsp != NULL);
+ REQUIRE(catzsp != NULL && DNS_CATZ_ZONES_VALID(*catzsp));
catzs = *catzsp;
*catzsp = NULL;
@@ -1515,7 +1515,7 @@ dns_catz_generate_masterfilename(dns_catz_zone_t *zone, dns_catz_entry_t *entry,
bool special = false;
REQUIRE(DNS_CATZ_ZONE_VALID(zone));
- REQUIRE(entry != NULL);
+ REQUIRE(DNS_CATZ_ENTRY_VALID(entry));
REQUIRE(buffer != NULL && *buffer != NULL);
isc_buffer_allocate(zone->catzs->mctx, &tbuf,
@@ -1613,7 +1613,7 @@ dns_catz_generate_zonecfg(dns_catz_zone_t *zone, dns_catz_entry_t *entry,
char zname[DNS_NAME_FORMATSIZE];
REQUIRE(DNS_CATZ_ZONE_VALID(zone));
- REQUIRE(entry != NULL);
+ REQUIRE(DNS_CATZ_ENTRY_VALID(entry));
REQUIRE(buf != NULL && *buf == NULL);
/*
@@ -1745,7 +1745,7 @@ dns_catz_dbupdate_callback(dns_db_t *db, void *fn_arg) {
isc_region_t r;
REQUIRE(DNS_DB_VALID(db));
- REQUIRE(fn_arg != NULL);
+ REQUIRE(DNS_CATZ_ZONES_VALID(fn_arg));
catzs = (dns_catz_zones_t *)fn_arg;
dns_name_toregion(&db->origin, &r);
--
2.23.0