diff --git a/http-backend.c b/http-backend.c index eef0a361f4..d12572fda1 100644 --- a/http-backend.c +++ b/http-backend.c @@ -681,8 +681,10 @@ int cmd_main(int argc, const char **argv) if (!regexec(&re, dir, 1, out, 0)) { size_t n; - if (strcmp(method, c->method)) + if (strcmp(method, c->method)) { + free(dir); return bad_request(&hdr, c); + } cmd = c; n = out[0].rm_eo - out[0].rm_so; @@ -708,5 +710,7 @@ int cmd_main(int argc, const char **argv) max_request_buffer); cmd->imp(&hdr, cmd_arg); + free(dir); + free(cmd_arg); return 0; }