зеркало из https://github.com/microsoft/git.git
notes: avoid leaking duplicate entries
When add_note is called multiple times with the same key/value pair, the leaf_node it creates is leaked by notes_tree_insert. Signed-off-by: Mike Hommey <mh@glandium.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
75b2f01a0f
Коммит
779ad6641b
4
notes.c
4
notes.c
|
@ -269,8 +269,10 @@ static int note_tree_insert(struct notes_tree *t, struct int_node *tree,
|
||||||
case PTR_TYPE_NOTE:
|
case PTR_TYPE_NOTE:
|
||||||
if (oideq(&l->key_oid, &entry->key_oid)) {
|
if (oideq(&l->key_oid, &entry->key_oid)) {
|
||||||
/* skip concatenation if l == entry */
|
/* skip concatenation if l == entry */
|
||||||
if (oideq(&l->val_oid, &entry->val_oid))
|
if (oideq(&l->val_oid, &entry->val_oid)) {
|
||||||
|
free(entry);
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
ret = combine_notes(&l->val_oid,
|
ret = combine_notes(&l->val_oid,
|
||||||
&entry->val_oid);
|
&entry->val_oid);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче