]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix deadlock for local data add and zone add when unbound-control
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Mon, 24 Aug 2015 10:49:28 +0000 (10:49 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Mon, 24 Aug 2015 10:49:28 +0000 (10:49 +0000)
  list_local_data printout is interrupted.

git-svn-id: file:///svn/unbound/trunk@3476 be551aaa-1e26-0410-a405-d3ace91eadb9

daemon/remote.c
doc/Changelog

index 300948b32496dc2bab9cc75beceea1449dfba472..19975e6c34ab71d3d63a6207b6e7e539e2fbd05a 100644 (file)
@@ -2283,11 +2283,17 @@ do_list_local_data(SSL* ssl, struct worker* worker)
                                for(i=0; i<d->count + d->rrsig_count; i++) {
                                        if(!packed_rr_to_string(p->rrset, i,
                                                0, s, slen)) {
-                                               if(!ssl_printf(ssl, "BADRR\n"))
+                                               if(!ssl_printf(ssl, "BADRR\n")) {
+                                                       lock_rw_unlock(&z->lock);
+                                                       lock_rw_unlock(&zones->lock);
                                                        return;
+                                               }
                                        }
-                                       if(!ssl_printf(ssl, "%s\n", s))
+                                       if(!ssl_printf(ssl, "%s\n", s)) {
+                                               lock_rw_unlock(&z->lock);
+                                               lock_rw_unlock(&zones->lock);
                                                return;
+                                       }
                                }
                        }
                }
index 35f67c113ba6ef9d4191d0b360749b7d04d81164..f8cf4937216ff2fc1ef7f586e4f9cbc25cb2b1d2 100644 (file)
@@ -1,3 +1,7 @@
+24 August 2015: Wouter
+       - Fix deadlock for local data add and zone add when unbound-control
+         list_local_data printout is interrupted.
+
 13 August 2015: Wouter
        - 5011 implementation does not insist on all algorithms, when
          harden-algo-downgrade is turned off.