commit 8c4eabf2088807f8965d1fa049e59f4402a3732f from: Stefan Sperling date: Fri May 10 22:40:10 2019 UTC redo: fix tree_entry_dup error path commit - 83a7ae6dd3b3810c46ad466d6c30a9b674caaa99 commit + 8c4eabf2088807f8965d1fa049e59f4402a3732f blob - d111b34e06b915085e9da4644248bb97c9b3973d blob + a2abc10f3ccc865a84eac6dbce1887f5fdf60a6b --- lib/object.c +++ lib/object.c @@ -1553,17 +1553,19 @@ got_object_tree_entry_dup(struct got_tree_entry **new_ (*new_te)->name = strdup(te->name); if ((*new_te)->name == NULL) { err = got_error_from_errno(); - got_object_tree_entry_close(*new_te); - return err; + goto done; } (*new_te)->id = got_object_id_dup(te->id); if ((*new_te)->id == NULL) { err = got_error_from_errno(); - got_object_tree_entry_close(*new_te); - return err; + goto done; } - - return NULL; +done: + if (err) { + got_object_tree_entry_close(*new_te); + *new_te = NULL; + } + return err; }