diff --git a/evdns.c b/evdns.c index 474a997e..ab5dee61 100644 --- a/evdns.c +++ b/evdns.c @@ -4312,7 +4312,8 @@ evdns_getaddrinfo_gotresolve(int result, char type, int count, evdns_cancel_request(NULL, other_req->r); } data->user_cb(EVUTIL_EAI_MEMORY, NULL, data->user_data); - evutil_freeaddrinfo(res); + if (res) + evutil_freeaddrinfo(res); if (other_req->r == NULL) free_getaddrinfo_request(data); diff --git a/sample/http-server.c b/sample/http-server.c index d5212c51..05dc165e 100644 --- a/sample/http-server.c +++ b/sample/http-server.c @@ -144,7 +144,7 @@ dump_request_cb(struct evhttp_request *req, void *arg) static void send_document_cb(struct evhttp_request *req, void *arg) { - struct evbuffer *evb; + struct evbuffer *evb = NULL; const char *docroot = arg; const char *uri = evhttp_request_get_uri(req); struct evhttp_uri *decoded = NULL; @@ -229,7 +229,6 @@ send_document_cb(struct evhttp_request *req, void *arg) if (!(d = opendir(whole_path))) goto err; #endif - close(fd); evbuffer_add_printf(evb, "\n
\n" "