diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/port/tar.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/port/tar.c b/src/port/tar.c index 09fd6c10d34..8ef4f9c3883 100644 --- a/src/port/tar.c +++ b/src/port/tar.c @@ -77,8 +77,8 @@ tarCreateHeader(char *h, const char *filename, const char *linktarget, h[flen + 1] = '\0'; } - /* Mode 8 */ - sprintf(&h[100], "%07o ", (int) mode); + /* Mode 8 - this doesn't include the file type bits (S_IFMT) */ + sprintf(&h[100], "%07o ", (int) (mode & 07777)); /* User ID 8 */ sprintf(&h[108], "%07o ", (int) uid); |