28 lines
724 B
Diff
28 lines
724 B
Diff
--- lib/paxnames.c.orig 2016-04-06 00:04:47.314860045 +0300
|
||
+++ lib/paxnames.c 2016-04-06 02:08:44.962297881 +0300
|
||
@@ -18,6 +18,7 @@
|
||
#include <system.h>
|
||
#include <hash.h>
|
||
#include <paxlib.h>
|
||
+#include <quotearg.h>
|
||
|
||
|
||
/* Hash tables of strings. */
|
||
@@ -114,7 +115,15 @@
|
||
for (p = file_name + prefix_len; *p; )
|
||
{
|
||
if (p[0] == '.' && p[1] == '.' && (ISSLASH (p[2]) || !p[2]))
|
||
- prefix_len = p + 2 - file_name;
|
||
+ {
|
||
+ static char const *const diagnostic[] =
|
||
+ {
|
||
+ N_("%s: Member name contains '..'"),
|
||
+ N_("%s: Hard link target contains '..'")
|
||
+ };
|
||
+ ERROR ((0, 0, _(diagnostic[link_target]),
|
||
+ quotearg_colon (file_name)));
|
||
+ }
|
||
|
||
do
|
||
{
|