Fixed leak.

master
Nicolas Favre-Felix 14 years ago
parent 1cace807a1
commit 63394166b5

@ -42,6 +42,7 @@ json_reply(redisAsyncContext *c, void *r, void *privdata) {
evbuffer_free(body); evbuffer_free(body);
json_decref(j); json_decref(j);
freeReplyObject(r); freeReplyObject(r);
evhttp_clear_headers(&cmd->uri_params);
cmd_free(cmd); cmd_free(cmd);
free(json_reply); free(json_reply);
} }

@ -20,6 +20,8 @@ raw_reply(redisAsyncContext *c, void *r, void *privdata) {
char *raw_out; char *raw_out;
size_t sz; size_t sz;
evhttp_clear_headers(&cmd->uri_params);
if (reply == NULL) { if (reply == NULL) {
evhttp_send_reply(cmd->rq, 404, "Not Found", NULL); evhttp_send_reply(cmd->rq, 404, "Not Found", NULL);
return; return;
@ -124,7 +126,7 @@ raw_wrap(const redisReply *r, size_t *sz) {
*sz = 1 + integer_length(r->len) + 1 + r->len + 1; *sz = 1 + integer_length(r->len) + 1 + r->len + 1;
p = ret = malloc(*sz); p = ret = malloc(*sz);
p += sprintf(p, "$%d\n", r->len); p += sprintf(p, "$%d\n", r->len);
memcpy(p, r->str, *sz - 1); memcpy(p, r->str, *sz - 1 - (p-ret));
memcpy(ret + *sz - 1, "\n", 1); memcpy(ret + *sz - 1, "\n", 1);
return ret; return ret;

Loading…
Cancel
Save