Nguyễn Thái Ngọc Duy [off-list ref] writes:
quoted hunk
@@ -651,14 +653,10 @@ static void update_refs_for_switch(const struct checkout_opts *opts,
new->name);
}
}
- if (old->path && old->name) {
- char log_file[PATH_MAX], ref_file[PATH_MAX];
-
- git_snpath(log_file, sizeof(log_file), "logs/%s", old->path);
- git_snpath(ref_file, sizeof(ref_file), "%s", old->path);
- if (!file_exists(ref_file) && file_exists(log_file))
- remove_path(log_file);
- }
+ if (old->path && old->name &&
+ !file_exists(git_path("%s", old->path)) &&
+ file_exists(git_path("logs/%s", old->path)))
+ remove_path(git_path("logs/%s", old->path));
Hmph. Is this conversion safe?
This adds three uses of the round-robin path buffer; if a caller of
this function used two or more path buffers obtained from
get_pathname() and expected their contents to remain stable across
the call to this, it will silently break.