]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Avoid infinite loop in module_root(), oops...
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Sat, 9 Apr 2022 17:44:46 +0000 (12:44 -0500)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Sat, 9 Apr 2022 17:44:46 +0000 (12:44 -0500)
src/lib/server/module.c

index fe9c8a5a73261345845ea8c49b49bd1603304f40..969e6155c7e3c84058d17645cea5e5afa462a442 100644 (file)
@@ -419,17 +419,16 @@ module_instance_t *module_parent(module_instance_t const *child)
  */
 module_instance_t *module_root(module_instance_t const *child)
 {
-       module_instance_t *parent = NULL;
        module_instance_t *next;
 
        for (;;) {
                next = module_parent(child);
                if (!next) break;
 
-               parent = next;
+               child = next;
        }
 
-       return parent;
+       return UNCONST(module_instance_t *, child);
 }
 
 /** Find an existing module instance by its private instance data