提交 6c912f5b 编写于 作者: J Junio C Hamano

Fix botched "leak fix"

When (new_name == old_name), the previous one prefixed old_name
alone, leaving new_name untouched, and worse yet, left it
dangling pointing at an already freed memory location.
Signed-off-by: NJunio C Hamano <junkio@cox.net>
上级 c24e9757
......@@ -2516,9 +2516,15 @@ static void prefix_patches(struct patch *p)
if (!prefix)
return;
for ( ; p; p = p->next) {
if (p->new_name != p->old_name)
if (p->new_name == p->old_name) {
char *prefixed = p->new_name;
prefix_one(&prefixed);
p->new_name = p->old_name = prefixed;
}
else {
prefix_one(&p->new_name);
prefix_one(&p->old_name);
prefix_one(&p->old_name);
}
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册