Skip to content

Commit

Permalink
Merge pull request #1073 from xiaoxiaoafeifei/master
Browse files Browse the repository at this point in the history
fix null pointer dereference issue in function ub_ctx_set_fwd
  • Loading branch information
wcawijngaards committed May 21, 2024
2 parents 2e70506 + 8e43e25 commit 9ccb8d5
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions libunbound/libunbound.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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);
Expand All @@ -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);
Expand Down

0 comments on commit 9ccb8d5

Please sign in to comment.