Merge branch 'en/rename-directory-detection'
Newly added codepath in merge-recursive had potential buffer overrun, which has been fixed. * en/rename-directory-detection: merge-recursive: use xstrdup() instead of fixed buffer
This commit is contained in:
commit
f72432d64e
@ -2211,18 +2211,18 @@ static struct hashmap *get_directory_renames(struct diff_queue_struct *pairs,
|
|||||||
static struct dir_rename_entry *check_dir_renamed(const char *path,
|
static struct dir_rename_entry *check_dir_renamed(const char *path,
|
||||||
struct hashmap *dir_renames)
|
struct hashmap *dir_renames)
|
||||||
{
|
{
|
||||||
char temp[PATH_MAX];
|
char *temp = xstrdup(path);
|
||||||
char *end;
|
char *end;
|
||||||
struct dir_rename_entry *entry;
|
struct dir_rename_entry *entry = NULL;;
|
||||||
|
|
||||||
strcpy(temp, path);
|
|
||||||
while ((end = strrchr(temp, '/'))) {
|
while ((end = strrchr(temp, '/'))) {
|
||||||
*end = '\0';
|
*end = '\0';
|
||||||
entry = dir_rename_find_entry(dir_renames, temp);
|
entry = dir_rename_find_entry(dir_renames, temp);
|
||||||
if (entry)
|
if (entry)
|
||||||
return entry;
|
break;
|
||||||
}
|
}
|
||||||
return NULL;
|
free(temp);
|
||||||
|
return entry;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void compute_collisions(struct hashmap *collisions,
|
static void compute_collisions(struct hashmap *collisions,
|
||||||
|
Loading…
Reference in New Issue
Block a user