]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
don't assert if we fail to instantiate the dictionaries
authorAlan T. DeKok <aland@freeradius.org>
Sat, 23 Aug 2025 14:43:26 +0000 (10:43 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Sat, 23 Aug 2025 18:24:44 +0000 (14:24 -0400)
continuation of commit 4644f501cf3

src/protocols/dns/base.c

index e8695b051da97b131601c6bb93906ae1577d2440..e617d9fe7c24116d95a931f75a1a8ccfe45ec6a3 100644 (file)
@@ -29,6 +29,7 @@ RCSID("$Id$")
 #include "attrs.h"
 
 static uint32_t instance_count = 0;
+static bool    instantiated = false;
 
 typedef struct {
        uint16_t        code;
@@ -428,16 +429,20 @@ int fr_dns_global_init(void)
                goto fail;
        }
 
+       instantiated = true;
        return 0;
 }
 
 void fr_dns_global_free(void)
 {
+       if (!instantiated) return;
+
        fr_assert(instance_count > 0);
 
        if (--instance_count > 0) return;
 
        fr_dict_autofree(dns_dict);
+       instantiated = false;
 }
 
 static bool attr_valid(fr_dict_attr_t *da)