From 8fc7f60f29b3ff546c5730f67b4d67e6f026adee Mon Sep 17 00:00:00 2001 From: Eric Faurot Date: Wed, 23 Mar 2011 20:58:33 +0000 Subject: The asr structure must always be freed in asr_done(). This is a left-over from a former implementation where asr_ctx didn't exist and struct asr was refcounted. spotted by Jared Yanovich. ok gilles@ --- usr.sbin/smtpd/asr.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'usr.sbin') diff --git a/usr.sbin/smtpd/asr.c b/usr.sbin/smtpd/asr.c index dd524c9bce7..0c069b1dc8a 100644 --- a/usr.sbin/smtpd/asr.c +++ b/usr.sbin/smtpd/asr.c @@ -770,8 +770,7 @@ asr_ctx_query(struct asr_ctx *ac, int type) void asr_done(struct asr *asr) { - if (asr_ctx_unref(asr->a_ctx)) - return; + asr_ctx_unref(asr->a_ctx); if (asr->a_path) free(asr->a_path); free(asr); -- cgit v1.2.3