chiark
/
gitweb
/
~mdw
/
adns
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
@@ -4,14 +4,15 @@
[adns]
/
src
/
setup.c
diff --git
a/src/setup.c
b/src/setup.c
index dca8a193adfc346c41276265080f90dcbf7ce55c..e19a70536b2753a62debb6268492010e8c9b0551 100644
(file)
--- a/
src/setup.c
+++ b/
src/setup.c
@@
-62,6
+62,11
@@
static void addserver(adns_state ads, struct in_addr addr) {
ads->nservers++;
}
ads->nservers++;
}
+static void freesearchlist(adns_state ads) {
+ if (ads->nsearchlist) free(*ads->searchlist);
+ free(ads->searchlist);
+}
+
static void saveerr(adns_state ads, int en) {
if (!ads->configerrno) ads->configerrno= en;
}
static void saveerr(adns_state ads, int en) {
if (!ads->configerrno) ads->configerrno= en;
}
@@
-133,7
+138,7
@@
static void ccf_search(adns_state ads, const char *fn, int lno, const char *buf)
*newchars++ = 0;
}
*newchars++ = 0;
}
- free
(ads->searchlist
);
+ free
searchlist(ads
);
ads->nsearchlist= count;
ads->searchlist= newptrs;
}
ads->nsearchlist= count;
ads->searchlist= newptrs;
}
@@
-591,6
+596,7
@@
void adns_finish(adns_state ads) {
if (ads->tcpsocket >= 0) close(ads->tcpsocket);
adns__vbuf_free(&ads->tcpsend);
adns__vbuf_free(&ads->tcprecv);
if (ads->tcpsocket >= 0) close(ads->tcpsocket);
adns__vbuf_free(&ads->tcpsend);
adns__vbuf_free(&ads->tcprecv);
+ freesearchlist(ads);
free(ads);
}
free(ads);
}