diff options
author | Eric Faurot <eric@cvs.openbsd.org> | 2011-03-23 20:58:33 +0000 |
---|---|---|
committer | Eric Faurot <eric@cvs.openbsd.org> | 2011-03-23 20:58:33 +0000 |
commit | 8fc7f60f29b3ff546c5730f67b4d67e6f026adee (patch) | |
tree | 67fdaecf2110753bb85483c749ff066c19991ecb /usr.sbin | |
parent | 75964e51d2b44c66750efd15d30d465256d5f998 (diff) |
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@
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/smtpd/asr.c | 3 |
1 files changed, 1 insertions, 2 deletions
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); |