diff --git a/headers.js b/headers.js index 992be10..e688f93 100644 --- a/headers.js +++ b/headers.js @@ -166,7 +166,7 @@ exports.encode = function(opts) { if (opts.linkname && Buffer.byteLength(opts.linkname) > 100) return null buf.write(name) - buf.write(encodeOct(opts.mode & 07777, 6), 100) + buf.write(encodeOct(opts.mode & parseInt('07777', 8), 6), 100) buf.write(encodeOct(opts.uid, 6), 108) buf.write(encodeOct(opts.gid, 6), 116) buf.write(encodeOct(opts.size, 11), 124) diff --git a/pack.js b/pack.js index 556055e..043f28d 100644 --- a/pack.js +++ b/pack.js @@ -118,7 +118,7 @@ Pack.prototype.entry = function(header, buffer, callback) { if (!header.size) header.size = 0 if (!header.type) header.type = modeToType(header.mode) - if (!header.mode) header.mode = header.type === 'directory' ? 0755 : 0644 + if (!header.mode) header.mode = parseInt(header.type === 'directory' ? '0755' : '0644') if (!header.uid) header.uid = 0 if (!header.gid) header.gid = 0 if (!header.mtime) header.mtime = new Date()