From: Arran Cudbard-Bell Date: Tue, 29 Nov 2016 10:52:55 +0000 (-0500) Subject: If there's no acquire method, don't check for non-null handle X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e08ef09379277f76912e2c055732c1d13b1902c8;p=thirdparty%2Ffreeradius-server.git If there's no acquire method, don't check for non-null handle --- diff --git a/src/modules/rlm_cache/rlm_cache.c b/src/modules/rlm_cache/rlm_cache.c index bb529e26fcd..4950b879726 100644 --- a/src/modules/rlm_cache/rlm_cache.c +++ b/src/modules/rlm_cache/rlm_cache.c @@ -51,7 +51,10 @@ static const CONF_PARSER module_config[] = { */ static int cache_acquire(rlm_cache_handle_t **out, rlm_cache_t const *inst, REQUEST *request) { - if (!inst->driver->acquire) return 0; + if (!inst->driver->acquire) { + *out = NULL; + return 0; + } return inst->driver->acquire(out, &inst->config, inst->driver_inst, request); } @@ -577,7 +580,7 @@ static rlm_rcode_t mod_cache_it(void *instance, UNUSED void *thread, REQUEST *re rcode = cache_find(&c, inst, request, &handle, key, key_len); if (rcode == RLM_MODULE_FAIL) goto finish; - rad_assert(handle); + rad_assert(!inst->driver->acquire || handle); rcode = c ? RLM_MODULE_OK: RLM_MODULE_NOTFOUND; @@ -638,7 +641,7 @@ static rlm_rcode_t mod_cache_it(void *instance, UNUSED void *thread, REQUEST *re default: rad_assert(0); } - rad_assert(handle); + rad_assert(!inst->driver->acquire || handle); } /* @@ -697,7 +700,7 @@ static rlm_rcode_t mod_cache_it(void *instance, UNUSED void *thread, REQUEST *re default: rad_assert(0); } - rad_assert(handle); + rad_assert(!inst->driver->acquire || handle); } /* @@ -746,7 +749,7 @@ static rlm_rcode_t mod_cache_it(void *instance, UNUSED void *thread, REQUEST *re default: rad_assert(0); } - rad_assert(handle); + rad_assert(!inst->driver->acquire || handle); goto finish; }