Commit Diff


commit - 102b254e201b999cdeb0ef340dc6e08e4211376f
commit + d34b633ebd3cc55febd0e0ec30d99459d7c3980e
blob - aa1380c84c816fb454f2b20ceda2de7cadf2ec33
blob + ce156d2479af0056f65897680e9e32f8864800b6
--- lib/worktree.c
+++ lib/worktree.c
@@ -4995,12 +4995,15 @@ match_deleted_or_modified_ct(struct got_commitable **c
 		if (!path_matches)
 			continue;
 
-		ct_name = basename(pe->path);
-		if (ct_name == NULL)
-			return got_error_from_errno2("basename", pe->path);
-
-		if (strcmp(te->name, ct_name) != 0)
+		err = got_path_basename(&ct_name, pe->path);
+		if (err)
+			return err;
+
+		if (strcmp(te->name, ct_name) != 0) {
+			free(ct_name);
 			continue;
+		}
+		free(ct_name);
 
 		*ctp = ct;
 		break;