Commit 3b58f992 authored by Nick Mathewson's avatar Nick Mathewson 🌉
Browse files

r18283@catbus: nickm | 2008-02-20 18:58:31 -0500

 Fix assertion when searching for a string in an empty chunk.


svn:r13634
parent 304bdfdc
......@@ -1021,15 +1021,19 @@ buf_find_pos_of_char(char ch, buf_pos_t *out)
int pos;
tor_assert(out);
if (out->chunk) {
if (!(out->pos < (off_t)out->chunk->datalen)) {
log_warn(LD_BUG, "About to assert. %p, %d, %d, %p, %d.",
out, (int)out->pos,
(int)out->chunk_pos, out->chunk,
out->chunk?(int)out->chunk->datalen : (int)-1
);
if (out->chunk->datalen) {
/*XXXX020 remove this once the bug it detects is fixed. */
if (!(out->pos < (off_t)out->chunk->datalen)) {
log_warn(LD_BUG, "About to assert. %p, %d, %d, %p, %d.",
out, (int)out->pos,
(int)out->chunk_pos, out->chunk,
out->chunk?(int)out->chunk->datalen : (int)-1
);
}
tor_assert(out->pos < (off_t)out->chunk->datalen);
} else {
tor_assert(out->pos == 0);
}
tor_assert(out->pos < (off_t)out->chunk->datalen);
}
pos = out->pos;
for (chunk = out->chunk; chunk; chunk = chunk->next) {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment