I think the fix is something like this. There is still one thing I'd like to do: make this code not rely on NUL for terminating the patterns. That should remove the ugly "p[len] = '\0'" in prepare_attr_stack() 4/4 and and the reallocation in add_exclude() (in current code). But let's deal with the regression first. Nguyễn Thái Ngọc Duy (4): wildmatch: do not require "text" to be NUL-terminated attr.c: fix pattern{,len} inconsistency in struct match_attr dir.c: make match_{base,path}name respect {basename,path}len attr.c: fix matching "subdir" without the trailing slash attr.c | 11 ++++++++++- dir.c | 13 ++++++++----- dir.h | 2 +- t/t5002-archive-attr-pattern.sh | 6 ++++++ wildmatch.c | 43 ++++++++++++++++++++++++----------------- wildmatch.h | 11 +++++++++-- 6 files changed, 59 insertions(+), 27 deletions(-) -- 1.8.2.82.gc24b958 -- 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