]> granicus.if.org Git - libevent/commitdiff
Revert "evdns: do not check server_req twice"
authorAzat Khuzhin <azat@libevent.org>
Tue, 30 Nov 2021 19:41:05 +0000 (22:41 +0300)
committerAzat Khuzhin <azat@libevent.org>
Tue, 30 Nov 2021 19:41:05 +0000 (22:41 +0300)
That was wrong assumption.

This reverts commit 991f0ed3d86ffca0c017ab83cd239289912bdaad.

Fixes: #1231
evdns.c

diff --git a/evdns.c b/evdns.c
index 782a4123e6b5da6e43a11f724d0a7fb5f930935c..7e54f241897436a0d860d41201c3e998dc13369b 100644 (file)
--- a/evdns.c
+++ b/evdns.c
@@ -1592,12 +1592,14 @@ request_parse(u8 *packet, int length, struct evdns_server_port *port,
 
        return 0;
 err:
-       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);
+       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);
        }
-       mm_free(server_req);
        return -1;
 
 #undef SKIP_RR