"David Rydh" <dary@xxxxxxxxxxxxxxxxx> writes: > diff --git a/builtin-mv.c b/builtin-mv.c > index 8247186..1c1f8be 100644 > --- a/builtin-mv.c > +++ b/builtin-mv.c > @@ -27,7 +27,7 @@ static const char **copy_pathspec(const char *prefix, const char **pathspec, > if (length > 0 && is_dir_sep(result[i][length - 1])) > result[i] = xmemdupz(result[i], length - 1); > if (base_name) > - result[i] = basename((char *)result[i]); > + result[i] = xstrdup(basename((char *)result[i])); > } > return get_pathspec(prefix, result); > } Given that basename(3) is allowed to modify its parameter, I think the above code is still not portable. casting constness away and feeding result[i], especially when we didn't obtain our own copy by calling xmemdupz(), is especially problematic. Perhaps something ugly like this? for (i = 0; i < count; i++) { int length = strlen(result[i]); int to_copy = length; while (to_copy > 0 && is_dir_sep(result[i][to_copy - 1])) to_copy--; if (to_copy != length || basename) { char *it = xmemdupz(result[i], to_copy); result[i] = base_name ? strdup(basename(it)) : it; } } -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html