зеркало из https://github.com/microsoft/git.git
http-backend.c: fix "dir" and "cmd_arg" leaks in cmd_main()
Free the "dir" variable after we're done with it. Before917adc0360
(http-backend: add GIT_PROJECT_ROOT environment var, 2009-10-30) there was no leak here, as we'd get it via getenv(), but since917adc0360
we've xstrdup()'d it (or the equivalent), so we need to free() it. We also need to free the "cmd_arg" variable, which has been leaked ever since it was added in2f4038ab33
(Git-aware CGI to provide dumb HTTP transport, 2009-10-30). Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
9f24f3c719
Коммит
eef75d247a
|
@ -786,6 +786,7 @@ int cmd_main(int argc, const char **argv)
|
|||
if (!getenv("GIT_HTTP_EXPORT_ALL") &&
|
||||
access("git-daemon-export-ok", F_OK) )
|
||||
not_found(&hdr, "Repository not exported: '%s'", dir);
|
||||
free(dir);
|
||||
|
||||
http_config();
|
||||
max_request_buffer = git_env_ulong("GIT_HTTP_MAX_REQUEST_BUFFER",
|
||||
|
@ -795,5 +796,6 @@ int cmd_main(int argc, const char **argv)
|
|||
setenv(GIT_PROTOCOL_ENVIRONMENT, proto_header, 0);
|
||||
|
||||
cmd->imp(&hdr, cmd_arg);
|
||||
free(cmd_arg);
|
||||
return 0;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче