+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.
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) {
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);
}