mirror of
https://github.com/cuberite/libevent.git
synced 2025-09-08 03:44:22 -04:00
Fix some memory leaks in the unit tests
These don't matter except inasmuch as they give real memory leaks a place to hide. Found with valgrind
This commit is contained in:
parent
859af6772c
commit
274a7bd9a1
@ -345,10 +345,10 @@ test_bufferevent_filters_impl(int use_pair)
|
||||
buffer[i] = i;
|
||||
|
||||
bev1 = bufferevent_filter_new(bev1, NULL, bufferevent_output_filter,
|
||||
0, NULL, NULL);
|
||||
BEV_OPT_CLOSE_ON_FREE, NULL, NULL);
|
||||
|
||||
bev2 = bufferevent_filter_new(bev2, bufferevent_input_filter,
|
||||
NULL, 0, NULL, NULL);
|
||||
NULL, BEV_OPT_CLOSE_ON_FREE, NULL, NULL);
|
||||
bufferevent_setcb(bev1, NULL, writecb, errorcb, NULL);
|
||||
bufferevent_setcb(bev2, readcb, NULL, errorcb, NULL);
|
||||
|
||||
|
@ -438,7 +438,9 @@ struct generic_dns_callback_result {
|
||||
char type;
|
||||
int count;
|
||||
int ttl;
|
||||
size_t addrs_len;
|
||||
void *addrs;
|
||||
char addrs_buf[256];
|
||||
};
|
||||
|
||||
static void
|
||||
@ -459,12 +461,15 @@ generic_dns_callback(int result, char type, int count, int ttl, void *addresses,
|
||||
else if (type == DNS_PTR)
|
||||
len = strlen(addresses)+1;
|
||||
else {
|
||||
len = 0;
|
||||
res->addrs_len = len = 0;
|
||||
res->addrs = NULL;
|
||||
}
|
||||
if (len) {
|
||||
res->addrs = malloc(len);
|
||||
memcpy(res->addrs, addresses, len);
|
||||
res->addrs_len = len;
|
||||
if (len > 256)
|
||||
len = 256;
|
||||
memcpy(res->addrs_buf, addresses, len);
|
||||
res->addrs = res->addrs_buf;
|
||||
}
|
||||
|
||||
if (--n_replies_left == 0)
|
||||
|
@ -495,7 +495,7 @@ static void
|
||||
http_bad_request_test(void)
|
||||
{
|
||||
struct timeval tv;
|
||||
struct bufferevent *bev;
|
||||
struct bufferevent *bev = NULL;
|
||||
evutil_socket_t fd;
|
||||
const char *http_request;
|
||||
short port = -1;
|
||||
@ -564,6 +564,8 @@ http_bad_request_test(void)
|
||||
|
||||
end:
|
||||
evhttp_free(http);
|
||||
if (bev)
|
||||
bufferevent_free(bev);
|
||||
}
|
||||
|
||||
static struct evhttp_connection *delayed_client;
|
||||
@ -2530,7 +2532,7 @@ static void
|
||||
terminate_chunked_trickle_cb(evutil_socket_t fd, short events, void *arg)
|
||||
{
|
||||
struct terminate_state *state = arg;
|
||||
struct evbuffer *evb = evbuffer_new();
|
||||
struct evbuffer *evb;
|
||||
struct timeval tv;
|
||||
|
||||
if (evhttp_request_get_connection(state->req) == NULL) {
|
||||
@ -2540,6 +2542,7 @@ terminate_chunked_trickle_cb(evutil_socket_t fd, short events, void *arg)
|
||||
return;
|
||||
}
|
||||
|
||||
evb = evbuffer_new();
|
||||
evbuffer_add_printf(evb, "%p", evb);
|
||||
evhttp_send_reply_chunk(state->req, evb);
|
||||
evbuffer_free(evb);
|
||||
|
@ -127,6 +127,10 @@ end:
|
||||
EVUTIL_CLOSESOCKET(fd2);
|
||||
if (fd3>=0)
|
||||
EVUTIL_CLOSESOCKET(fd3);
|
||||
if (listener1)
|
||||
evconnlistener_free(listener1);
|
||||
if (listener2)
|
||||
evconnlistener_free(listener2);
|
||||
}
|
||||
|
||||
|
||||
|
@ -592,6 +592,7 @@ rpc_hook_pause_cb(evutil_socket_t fd, short what, void *arg)
|
||||
struct _rpc_hook_ctx *ctx = arg;
|
||||
++hook_pause_cb_called;
|
||||
evrpc_resume_request(ctx->vbase, ctx->ctx, EVRPC_CONTINUE);
|
||||
free(arg);
|
||||
}
|
||||
|
||||
static int
|
||||
|
@ -275,10 +275,10 @@ test_bufferevent_zlib(void *arg)
|
||||
r = inflateInit(&z_input);
|
||||
|
||||
/* initialize filters */
|
||||
bev1 = bufferevent_filter_new(bev1, NULL, zlib_output_filter, 0,
|
||||
zlib_deflate_free, &z_output);
|
||||
bev1 = bufferevent_filter_new(bev1, NULL, zlib_output_filter,
|
||||
BEV_OPT_CLOSE_ON_FREE, zlib_deflate_free, &z_output);
|
||||
bev2 = bufferevent_filter_new(bev2, zlib_input_filter,
|
||||
NULL, 0, zlib_inflate_free, &z_input);
|
||||
NULL, BEV_OPT_CLOSE_ON_FREE, zlib_inflate_free, &z_input);
|
||||
bufferevent_setcb(bev1, readcb, writecb, errorcb, NULL);
|
||||
bufferevent_setcb(bev2, readcb, writecb, errorcb, NULL);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user