initial import
This commit is contained in:
42
unbound/CVE-2024-43167.patch
Normal file
42
unbound/CVE-2024-43167.patch
Normal file
@@ -0,0 +1,42 @@
|
||||
From 8e43e2574c4e02f79c562a061581cdcefe136912 Mon Sep 17 00:00:00 2001
|
||||
From: zhailiangliang <zhailiangliang@loongson.cn>
|
||||
Date: Tue, 21 May 2024 08:40:16 +0000
|
||||
Subject: [PATCH] fix null pointer dereference issue in function ub_ctx_set_fwd
|
||||
of file libunbound/libunbound.c
|
||||
|
||||
---
|
||||
libunbound/libunbound.c | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libunbound/libunbound.c b/libunbound/libunbound.c
|
||||
index 17057ec6c..3c8955149 100644
|
||||
--- a/libunbound/libunbound.c
|
||||
+++ b/libunbound/libunbound.c
|
||||
@@ -981,7 +981,8 @@ ub_ctx_set_fwd(struct ub_ctx* ctx, const char* addr)
|
||||
if(!addr) {
|
||||
/* disable fwd mode - the root stub should be first. */
|
||||
if(ctx->env->cfg->forwards &&
|
||||
- strcmp(ctx->env->cfg->forwards->name, ".") == 0) {
|
||||
+ (ctx->env->cfg->forwards->name &&
|
||||
+ strcmp(ctx->env->cfg->forwards->name, ".") == 0)) {
|
||||
s = ctx->env->cfg->forwards;
|
||||
ctx->env->cfg->forwards = s->next;
|
||||
s->next = NULL;
|
||||
@@ -1001,7 +1002,8 @@ ub_ctx_set_fwd(struct ub_ctx* ctx, const char* addr)
|
||||
/* it parses, add root stub in front of list */
|
||||
lock_basic_lock(&ctx->cfglock);
|
||||
if(!ctx->env->cfg->forwards ||
|
||||
- strcmp(ctx->env->cfg->forwards->name, ".") != 0) {
|
||||
+ (ctx->env->cfg->forwards->name &&
|
||||
+ strcmp(ctx->env->cfg->forwards->name, ".") != 0)) {
|
||||
s = calloc(1, sizeof(*s));
|
||||
if(!s) {
|
||||
lock_basic_unlock(&ctx->cfglock);
|
||||
@@ -1019,6 +1021,7 @@ ub_ctx_set_fwd(struct ub_ctx* ctx, const char* addr)
|
||||
ctx->env->cfg->forwards = s;
|
||||
} else {
|
||||
log_assert(ctx->env->cfg->forwards);
|
||||
+ log_assert(ctx->env->cfg->forwards->name);
|
||||
s = ctx->env->cfg->forwards;
|
||||
}
|
||||
dupl = strdup(addr);
|
||||
Reference in New Issue
Block a user