diff options
author | 2017-02-23 17:04:02 +0000 | |
---|---|---|
committer | 2017-02-23 17:04:02 +0000 | |
commit | f6f51dad2ad553583ef95d338f9437aa1f620a3e (patch) | |
tree | d441125eacf9731b21a7d2d09ddbc3f7e4939b08 /lib/libc/asr/asr.c | |
parent | Check return value of every BN_* functions in bntest (diff) | |
download | wireguard-openbsd-f6f51dad2ad553583ef95d338f9437aa1f620a3e.tar.xz wireguard-openbsd-f6f51dad2ad553583ef95d338f9437aa1f620a3e.zip |
Put a common subq pointer in the query struct, rather than one in each
element of the union.
ok gilles@ millert@ krw@
Diffstat (limited to 'lib/libc/asr/asr.c')
-rw-r--r-- | lib/libc/asr/asr.c | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/lib/libc/asr/asr.c b/lib/libc/asr/asr.c index d91a537599d..b678ebccebf 100644 --- a/lib/libc/asr/asr.c +++ b/lib/libc/asr/asr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: asr.c,v 1.55 2017/02/18 19:23:05 jca Exp $ */ +/* $OpenBSD: asr.c,v 1.56 2017/02/23 17:04:02 eric Exp $ */ /* * Copyright (c) 2010-2012 Eric Faurot <eric@openbsd.org> * @@ -236,6 +236,10 @@ void _asr_async_free(struct asr_query *as) { DPRINT("asr: asr_async_free(%p)\n", as); + + if (as->as_subq) + _asr_async_free(as->as_subq); + switch (as->as_type) { case ASR_SEND: if (as->as_fd != -1) @@ -249,38 +253,28 @@ _asr_async_free(struct asr_query *as) break; case ASR_SEARCH: - if (as->as.search.subq) - _asr_async_free(as->as.search.subq); if (as->as.search.name) free(as->as.search.name); break; case ASR_GETRRSETBYNAME: - if (as->as.rrset.subq) - _asr_async_free(as->as.rrset.subq); if (as->as.rrset.name) free(as->as.rrset.name); break; case ASR_GETHOSTBYNAME: case ASR_GETHOSTBYADDR: - if (as->as.hostnamadr.subq) - _asr_async_free(as->as.hostnamadr.subq); if (as->as.hostnamadr.name) free(as->as.hostnamadr.name); break; case ASR_GETNETBYNAME: case ASR_GETNETBYADDR: - if (as->as.netnamadr.subq) - _asr_async_free(as->as.netnamadr.subq); if (as->as.netnamadr.name) free(as->as.netnamadr.name); break; case ASR_GETADDRINFO: - if (as->as.ai.subq) - _asr_async_free(as->as.ai.subq); if (as->as.ai.aifirst) freeaddrinfo(as->as.ai.aifirst); if (as->as.ai.hostname) @@ -292,8 +286,6 @@ _asr_async_free(struct asr_query *as) break; case ASR_GETNAMEINFO: - if (as->as.ni.subq) - _asr_async_free(as->as.ni.subq); break; } |