commit 102b254e201b999cdeb0ef340dc6e08e4211376f from: Stefan Sperling date: Mon Oct 19 23:14:59 2020 UTC switch to got_path_basename() in alloc_added_blob_tree_entry() ok millert commit - 1233e6b6715afa716b042fc369d0becc3bb9f58f commit + 102b254e201b999cdeb0ef340dc6e08e4211376f blob - e8828ca377630832d832969eb9de9ef7450bd503 blob + aa1380c84c816fb454f2b20ceda2de7cadf2ec33 --- lib/worktree.c +++ lib/worktree.c @@ -4866,7 +4866,7 @@ alloc_added_blob_tree_entry(struct got_tree_entry **ne struct got_commitable *ct) { const struct got_error *err = NULL; - char *ct_name; + char *ct_name = NULL; *new_te = NULL; @@ -4874,11 +4874,9 @@ alloc_added_blob_tree_entry(struct got_tree_entry **ne if (*new_te == NULL) return got_error_from_errno("calloc"); - ct_name = basename(ct->path); - if (ct_name == NULL) { - err = got_error_from_errno2("basename", ct->path); + err = got_path_basename(&ct_name, ct->path); + if (err) goto done; - } if (strlcpy((*new_te)->name, ct_name, sizeof((*new_te)->name)) >= sizeof((*new_te)->name)) { err = got_error(GOT_ERR_NO_SPACE); @@ -4893,6 +4891,7 @@ alloc_added_blob_tree_entry(struct got_tree_entry **ne else memcpy(&(*new_te)->id, ct->blob_id, sizeof((*new_te)->id)); done: + free(ct_name); if (err && *new_te) { free(*new_te); *new_te = NULL;