equal
deleted
inserted
replaced
1 Fix bug in directory traversal. |
|
2 |
|
3 This off-by-one error resulted in useless reexamination of the |
|
4 same files by descending twice into each directory. |
|
5 |
|
6 See: |
|
7 |
|
8 https://github.com/madler/pigz/commit/06b5347948ff2d675ebbeb943941e2b7610082f3 |
|
9 |
|
10 This fix has already been integrated upstream. |
|
11 |
|
12 --- pigz-2.3.3/pigz.c.orig 2016-10-03 08:06:26.655873581 +0000 |
|
13 +++ pigz-2.3.3/pigz.c 2016-10-03 08:07:23.222592284 +0000 |
|
14 @@ -4268,7 +4268,7 @@ |
|
15 |
|
16 /* run process() for each entry in the directory */ |
|
17 base = len && g.inf[len - 1] != (unsigned char)'/' ? |
|
18 - vstrcpy(&g.inf, &g.inz, len, "/") : len; |
|
19 + vstrcpy(&g.inf, &g.inz, len, "/") - 1 : len; |
|
20 for (off = 0; roll[off]; off += strlen(roll + off) + 1) { |
|
21 vstrcpy(&g.inf, &g.inz, base, roll + off); |
|
22 process(g.inf); |
|