mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-02 15:45:25 +00:00
4060. [bug] dns_rdata_freestruct could be call on a uninitialised
structure when handling a error. [RT #38568]
This commit is contained in:
3
CHANGES
3
CHANGES
@@ -1,3 +1,6 @@
|
|||||||
|
4060. [bug] dns_rdata_freestruct could be call on a uninitialised
|
||||||
|
structure when handling a error. [RT #38568]
|
||||||
|
|
||||||
4059. [bug] Addressed valgrind warnings. [RT #38549]
|
4059. [bug] Addressed valgrind warnings. [RT #38549]
|
||||||
|
|
||||||
4058. [bug] UDP dispatches could use the wrong psuedorandom
|
4058. [bug] UDP dispatches could use the wrong psuedorandom
|
||||||
|
@@ -1403,6 +1403,7 @@ dns_tkey_gssnegotiate(dns_message_t *qmsg, dns_message_t *rmsg,
|
|||||||
dst_key_t *dstkey = NULL;
|
dst_key_t *dstkey = NULL;
|
||||||
isc_result_t result;
|
isc_result_t result;
|
||||||
unsigned char array[1024];
|
unsigned char array[1024];
|
||||||
|
isc_boolean_t freertkey = ISC_FALSE;
|
||||||
|
|
||||||
REQUIRE(qmsg != NULL);
|
REQUIRE(qmsg != NULL);
|
||||||
REQUIRE(rmsg != NULL);
|
REQUIRE(rmsg != NULL);
|
||||||
@@ -1415,6 +1416,7 @@ dns_tkey_gssnegotiate(dns_message_t *qmsg, dns_message_t *rmsg,
|
|||||||
|
|
||||||
RETERR(find_tkey(rmsg, &tkeyname, &rtkeyrdata, DNS_SECTION_ANSWER));
|
RETERR(find_tkey(rmsg, &tkeyname, &rtkeyrdata, DNS_SECTION_ANSWER));
|
||||||
RETERR(dns_rdata_tostruct(&rtkeyrdata, &rtkey, NULL));
|
RETERR(dns_rdata_tostruct(&rtkeyrdata, &rtkey, NULL));
|
||||||
|
freertkey = ISC_TRUE;
|
||||||
|
|
||||||
if (win2k == ISC_TRUE)
|
if (win2k == ISC_TRUE)
|
||||||
RETERR(find_tkey(qmsg, &tkeyname, &qtkeyrdata,
|
RETERR(find_tkey(qmsg, &tkeyname, &qtkeyrdata,
|
||||||
@@ -1467,7 +1469,8 @@ dns_tkey_gssnegotiate(dns_message_t *qmsg, dns_message_t *rmsg,
|
|||||||
/*
|
/*
|
||||||
* XXXSRA This probably leaks memory from qtkey.
|
* XXXSRA This probably leaks memory from qtkey.
|
||||||
*/
|
*/
|
||||||
dns_rdata_freestruct(&rtkey);
|
if (freertkey)
|
||||||
|
dns_rdata_freestruct(&rtkey);
|
||||||
if (dstkey != NULL)
|
if (dstkey != NULL)
|
||||||
dst_key_free(&dstkey);
|
dst_key_free(&dstkey);
|
||||||
return (result);
|
return (result);
|
||||||
|
Reference in New Issue
Block a user