summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--revision.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/revision.c b/revision.c
index 6de29cdf7a..5ed86e4524 100644
--- a/revision.c
+++ b/revision.c
@@ -669,7 +669,6 @@ static void prepare_to_use_bloom_filter(struct rev_info *revs)
struct pathspec_item *pi;
char *path_alloc = NULL;
const char *path, *p;
- int last_index;
size_t len;
int path_component_nr = 1;
@@ -692,12 +691,10 @@ static void prepare_to_use_bloom_filter(struct rev_info *revs)
return;
pi = &revs->pruning.pathspec.items[0];
- last_index = pi->len - 1;
/* remove single trailing slash from path, if needed */
- if (pi->match[last_index] == '/') {
- path_alloc = xstrdup(pi->match);
- path_alloc[last_index] = '\0';
+ if (pi->len > 0 && pi->match[pi->len - 1] == '/') {
+ path_alloc = xmemdupz(pi->match, pi->len - 1);
path = path_alloc;
} else
path = pi->match;