From: Shawn Routhier Date: Mon, 22 Aug 2011 20:45:03 +0000 (+0000) Subject: Fix the code that checks for an existing DDNS transaction to cancel X-Git-Tag: v4_2_3rc1~19 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=64456e45021f6419298029544e0d8d76adcd9b13;p=thirdparty%2Fdhcp.git Fix the code that checks for an existing DDNS transaction to cancel when removing DDNS information, so that we will continue with the processing if we have a lease even if it doesn't have an outstanding transaction. [ISC-Bugs #24682] --- diff --git a/RELNOTES b/RELNOTES index d5343973c..101cd65f5 100644 --- a/RELNOTES +++ b/RELNOTES @@ -39,6 +39,13 @@ The system has only been tested on Linux, FreeBSD, and Solaris, and may not work on other platforms. Please report any problems and suggested fixes to . + Changes since 4.2.2 + +- Fix the code that checks for an existing DDNS transaction to cancel + when removing DDNS information, so that we will continue with the + processing if we have a lease even if it doesn't have an outstanding + transaction. [ISC-Bugs #24682] + Changes since 4.2.2rc1 ! Two packets were found that cause a server to halt. The code diff --git a/server/ddns.c b/server/ddns.c index b1683c39a..cc2486bd1 100644 --- a/server/ddns.c +++ b/server/ddns.c @@ -1591,8 +1591,7 @@ ddns_removals(struct lease *lease, } else if ((lease6 != NULL) && (lease6->ddns_cb != NULL)) { ddns_cancel(lease6->ddns_cb); lease6->ddns_cb = NULL; - } else - goto cleanup; + } /* allocate our control block */ ddns_cb = ddns_cb_alloc(MDL);