chiark
/
gitweb
/
~ianmdlvl
/
adns.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
28de644
)
Do not scramble innards when a query on the output queue is cancelled.
privaterel-1999-09-25-egnor
author
ian
<ian>
Sat, 25 Sep 1999 16:25:00 +0000
(16:25 +0000)
committer
ian
<ian>
Sat, 25 Sep 1999 16:25:00 +0000
(16:25 +0000)
changelog
patch
|
blob
|
history
src/check.c
patch
|
blob
|
history
src/query.c
patch
|
blob
|
history
diff --git
a/changelog
b/changelog
index fc5132788a5401ecdafc4730d154fc20d2d80893..9fba052ddb3fedec2fd14efbced9f411d767b6ed 100644
(file)
--- a/
changelog
+++ b/
changelog
@@
-18,6
+18,7
@@
adns (0.5) unstable; urgency=medium
* Reject TXT RRs with no strings.
* Don't complain so much about poll(2) tests if not available.
* Do not give -u 0 -g 0 options to install.
* Reject TXT RRs with no strings.
* Don't complain so much about poll(2) tests if not available.
* Do not give -u 0 -g 0 options to install.
+ * Do not scramble innards when a query on the output queue is cancelled.
--
--
@@
-101,4
+102,5
@@
adns (0.1) experimental; urgency=low
Local variables:
mode: debian-changelog
Local variables:
mode: debian-changelog
+fill-column: 75
End:
End:
diff --git
a/src/check.c
b/src/check.c
index 84fe168cd6cac54259793bde2b0892d8ab099d63..04c5c8e0c30dee087511ae3d0a9ba1400942ef62 100644
(file)
--- a/
src/check.c
+++ b/
src/check.c
@@
-136,6
+136,7
@@
static void checkc_queue_output(adns_state ads) {
assert(qu->state == query_done);
assert(!qu->children.head && !qu->children.tail);
assert(!qu->parent);
assert(qu->state == query_done);
assert(!qu->children.head && !qu->children.tail);
assert(!qu->parent);
+ assert(!qu->allocations.head && !qu->allocations.tail);
checkc_query(ads,qu);
});
}
checkc_query(ads,qu);
});
}
diff --git
a/src/query.c
b/src/query.c
index 172ff0607b150e81950276272fb9e22d8ca45671..a676376587ca7053ef758b3511c305d1f0054a38 100644
(file)
--- a/
src/query.c
+++ b/
src/query.c
@@
-362,6
+362,7
@@
static void free_query_allocs(adns_query qu) {
cancel_children(qu);
for (an= qu->allocations.head; an; an= ann) { ann= an->next; free(an); }
cancel_children(qu);
for (an= qu->allocations.head; an; an= ann) { ann= an->next; free(an); }
+ LIST_INIT(qu->allocations);
adns__vbuf_free(&qu->vb);
}
adns__vbuf_free(&qu->vb);
}