summaryrefslogtreecommitdiffstats
path: root/bind99-coverity.patch
diff options
context:
space:
mode:
Diffstat (limited to 'bind99-coverity.patch')
-rw-r--r--bind99-coverity.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/bind99-coverity.patch b/bind99-coverity.patch
new file mode 100644
index 0000000..ac8d5d1
--- /dev/null
+++ b/bind99-coverity.patch
@@ -0,0 +1,21 @@
+diff -up bind-9.9.0/bin/named/controlconf.c.coverity bind-9.9.0/bin/named/controlconf.c
+--- bind-9.9.0/bin/named/controlconf.c.coverity 2012-03-05 13:57:37.665539706 +0100
++++ bind-9.9.0/bin/named/controlconf.c 2012-03-05 14:15:15.981420790 +0100
+@@ -373,14 +373,9 @@ control_recvmessage(isc_task_t *task, is
+ if (result == ISC_R_SUCCESS)
+ break;
+ isc_mem_put(listener->mctx, secret.rstart, REGION_SIZE(secret));
+- if (result == ISCCC_R_BADAUTH) {
+- /*
+- * For some reason, request is non-NULL when
+- * isccc_cc_fromwire returns ISCCC_R_BADAUTH.
+- */
+- if (request != NULL)
+- isccc_sexpr_free(&request);
+- } else {
++ /* request can be non-NULL even in failure case */
++ isccc_sexpr_free(&request);
++ if (result != ISCCC_R_BADAUTH) {
+ log_invalid(&conn->ccmsg, result);
+ goto cleanup;
+ }