Check size of path buffer before writing into it
This prevents a buffer overrun that could otherwise be triggered by creating a file called '.git' with contents gitdir: (something really long) Signed-off-by: Greg Brockman <gdb@mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
29981380d0
commit
1b0b962d77
2
setup.c
2
setup.c
@ -153,6 +153,8 @@ static int is_git_directory(const char *suspect)
|
|||||||
char path[PATH_MAX];
|
char path[PATH_MAX];
|
||||||
size_t len = strlen(suspect);
|
size_t len = strlen(suspect);
|
||||||
|
|
||||||
|
if (PATH_MAX <= len + strlen("/objects"))
|
||||||
|
die("Too long path: %.*s", 60, suspect);
|
||||||
strcpy(path, suspect);
|
strcpy(path, suspect);
|
||||||
if (getenv(DB_ENVIRONMENT)) {
|
if (getenv(DB_ENVIRONMENT)) {
|
||||||
if (access(getenv(DB_ENVIRONMENT), X_OK))
|
if (access(getenv(DB_ENVIRONMENT), X_OK))
|
||||||
|
Loading…
Reference in New Issue
Block a user