diff options
Diffstat (limited to 'lib/isccc/cc.c')
-rw-r--r-- | lib/isccc/cc.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/isccc/cc.c b/lib/isccc/cc.c index b549d6cb9e2e..1ab9479855ee 100644 --- a/lib/isccc/cc.c +++ b/lib/isccc/cc.c @@ -399,8 +399,6 @@ table_fromwire(isccc_region_t *source, isccc_region_t *secret, first_tag = ISC_FALSE; } - *alistp = alist; - if (secret != NULL) { if (checksum_rstart != NULL) result = verify(alist, checksum_rstart, @@ -412,7 +410,9 @@ table_fromwire(isccc_region_t *source, isccc_region_t *secret, result = ISC_R_SUCCESS; bad: - if (result != ISC_R_SUCCESS) + if (result == ISC_R_SUCCESS) + *alistp = alist; + else isccc_sexpr_free(&alist); return (result); |