]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Correct return handling
authorNick Porter <nick@portercomputing.co.uk>
Wed, 12 Nov 2025 20:52:38 +0000 (20:52 +0000)
committerNick Porter <nick@portercomputing.co.uk>
Thu, 13 Nov 2025 08:32:41 +0000 (08:32 +0000)
Wrapping the `ret = module...` assignment in `unlikely()` resulted in
incorrect values in `ret`

src/modules/rlm_cache/rlm_cache.c

index bbf24f007951358d2ed2a918a7b5b2c3cef9906a..8a9057cfccd811a64486ac56e070ad79dfa94cee 100644 (file)
@@ -111,7 +111,8 @@ int submodule_parse(TALLOC_CTX *ctx, void *out, void *parent, CONF_ITEM *ci, con
        module_instance_t       *mi;
        int ret;
 
-       if (unlikely(ret = module_rlm_submodule_parse(ctx, out, parent, ci, rule) < 0)) return ret;
+       ret = module_rlm_submodule_parse(ctx, out, parent, ci, rule);
+       if (unlikely(ret < 0)) return ret;
 
        mi = talloc_get_type_abort(*((void **)out), module_instance_t);
        inst->driver = (rlm_cache_driver_t const *)mi->exported; /* Public symbol exported by the submodule */