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
c173dad587
commit
3c9d0414ed
2
setup.c
2
setup.c
@ -170,6 +170,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…
x
Reference in New Issue
Block a user