Skip to content

Commit 101197d

Browse files
committed
Abort 'vcl_init' asap if a VMOD object instance cannot be created. See https://varnish-cache.org/lists/pipermail/varnish-dev/2024-September/009853.html
1 parent d979c36 commit 101197d

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

src/core.h

+3
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,9 @@ extern vmod_state_t vmod_state;
413413
#define REDIS_FAIL_WS(ctx, result) \
414414
REDIS_FAIL(ctx, result, "Workspace overflow")
415415

416+
#define REDIS_FAIL_INSTANCE(ctx, result) \
417+
REDIS_FAIL(ctx, result, "Failed to create instance")
418+
416419
#ifdef TLS_ENABLED
417420
#define REDIS_TLS(ctx, rcontext, db, message1, message2, ...) \
418421
do { \

src/vmod_redis.c

+4
Original file line numberDiff line numberDiff line change
@@ -592,6 +592,10 @@ vmod_db__init(
592592
"New database instance registered (db=%s)",
593593
instance->name);
594594
}
595+
596+
if (*db == NULL) {
597+
REDIS_FAIL_WS(ctx,);
598+
}
595599
}
596600

597601
VCL_VOID

0 commit comments

Comments
 (0)