From f04b90e5b3a6ebf0588c6e55ebe3b25364021a28 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 10 Feb 2009 19:43:19 +0000 Subject: [PATCH] Make a couple of newer evdns functions more bulletproof. svn:r1112 --- evdns.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/evdns.c b/evdns.c index 26d26b47..7f6f74b9 100644 --- a/evdns.c +++ b/evdns.c @@ -1127,14 +1127,11 @@ static void default_random_bytes_fn(char *buf, size_t n) { unsigned i; - for (i = 0; i < n-1; i += 2) { + for (i = 0; i < n; i += 2) { u16 tid = trans_id_function(); buf[i] = (tid >> 8) & 0xff; - buf[i+1] = tid & 0xff; - } - if (i < n) { - u16 tid = trans_id_function(); - buf[i] = tid & 0xff; + if (i+1= sizeof(namebuf)) { + free(req); + return NULL; + } + memset(req, 0, sizeof(struct evdns_request)); req->base = base;