Commit 962bf88e authored by Mark Andrews's avatar Mark Andrews

3294. [bug] isccc/cc.c:table_fromwire failed to free alist on

                        error. [RT #28265]
parent 070d2035
3294. [bug] isccc/cc.c:table_fromwire failed to free alist on
error. [RT #28265]
3293. [func] nsupdate: list supported type. [RT #28261]
3292. [func] Log messages in the axfr stream at debug 10.
......
......@@ -373,17 +373,8 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
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 {
log_invalid(&conn->ccmsg, result);
goto cleanup;
}
log_invalid(&conn->ccmsg, result);
goto cleanup;
}
if (key == NULL) {
......
......@@ -403,16 +403,17 @@ table_fromwire(isccc_region_t *source, isccc_region_t *secret,
if (secret != NULL) {
if (checksum_rstart != NULL)
return (verify(alist, checksum_rstart,
(source->rend - checksum_rstart),
secret));
return (ISCCC_R_BADAUTH);
}
return (ISC_R_SUCCESS);
result = verify(alist, checksum_rstart,
(source->rend - checksum_rstart),
secret);
else
result = ISCCC_R_BADAUTH;
} else
result = ISC_R_SUCCESS;
bad:
isccc_sexpr_free(&alist);
if (result != ISC_R_SUCCESS)
isccc_sexpr_free(&alist);
return (result);
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment