- A reference leak on binding scopes set by ddns updates was repaired.
+- A memory leak in the minires_nsendsigned() function call was repaired.
+ Effectively, this leaked ~80 bytes per DDNS update.
+
Changes since 3.0.5rc1
- A bug was repaired in fixes to the dhclient, which sought to run the
/*
- * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (c) 2004,2007 by Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* Permission to use, copy, modify, and distribute this software for any
bufsize = msglen + 1024;
newmsg = (double *) malloc(bufsize);
- if (newmsg == NULL)
+ if (newmsg == NULL) {
+ free(nstatp);
return ISC_R_NOMEMORY;
+ }
memcpy(newmsg, msg, msglen);
newmsglen = msglen;
NOERROR, dstkey, NULL, 0,
sig, &siglen, 0);
if (rcode != ISC_R_SUCCESS) {
+ dst_free_key(dstkey);
free (nstatp);
free (newmsg);
return rcode;
rcode = res_nsend(nstatp, newmsg, newmsglen, answer, anslen, &ret);
if (rcode != ISC_R_SUCCESS) {
+ dst_free_key(dstkey);
free (nstatp);
free (newmsg);
return rcode;
if (rcode != ISC_R_SUCCESS) {
Dprint(nstatp->pfcode & RES_PRF_REPLY,
(stdout, ";; TSIG invalid (%s)\n", p_rcode(ret)));
+ dst_free_key(dstkey);
free (nstatp);
free (newmsg);
return rcode;
goto retry;
}
+ dst_free_key(dstkey);
free (nstatp);
free (newmsg);
*anssize = anslen;