From 991f0ed3d86ffca0c017ab83cd239289912bdaad Mon Sep 17 00:00:00 2001 From: Azat Khuzhin Date: Mon, 1 Apr 2019 02:41:17 +0300 Subject: [PATCH] evdns: do not check server_req twice MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reported by µchex: "In evdns.c, pointer server_req is null checked on line 1289 after it is dereferenced above. Since server_req was already null checked above on line 1243, there is no risk of crashing and the only bug is the redundant null check (and indentation) on line 1289. " --- evdns.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/evdns.c b/evdns.c index 3cf6ef09..db25ad54 100644 --- a/evdns.c +++ b/evdns.c @@ -1299,14 +1299,12 @@ request_parse(u8 *packet, int length, struct evdns_server_port *port, struct soc return 0; err: - if (server_req) { - if (server_req->base.questions) { - for (i = 0; i < server_req->base.nquestions; ++i) - mm_free(server_req->base.questions[i]); - mm_free(server_req->base.questions); - } - mm_free(server_req); + if (server_req->base.questions) { + for (i = 0; i < server_req->base.nquestions; ++i) + mm_free(server_req->base.questions[i]); + mm_free(server_req->base.questions); } + mm_free(server_req); return -1; #undef SKIP_NAME -- 2.40.0