]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
zonemd, unbound-control auth_zone_reload errors when ZONEMD fails.
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Fri, 23 Oct 2020 09:47:00 +0000 (11:47 +0200)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Fri, 23 Oct 2020 09:47:00 +0000 (11:47 +0200)
daemon/remote.c

index 8a6ede426491132465e706bcc2d78dd39f64192e..7c99e4f29ca0aa6cfca9f546a032550ac58dbefe 100644 (file)
@@ -2566,14 +2566,17 @@ do_auth_zone_reload(RES* ssl, struct worker* worker, char* arg)
        auth_zone_verify_zonemd(z, &worker->env, &worker->env.mesh->mods,
                &reason, 0, 0);
        if(reason && z->zone_expired) {
+               lock_rw_unlock(&z->lock);
                (void)ssl_printf(ssl, "error zonemd for %s failed: %s\n",
                        arg, reason);
+               free(reason);
+               return;
        } else if(reason && strcmp(reason, "ZONEMD verification successful")
                ==0) {
                (void)ssl_printf(ssl, "%s: %s\n", arg, reason);
        }
-       free(reason);
        lock_rw_unlock(&z->lock);
+       free(reason);
        send_ok(ssl);
 }