Skip to content

Commit 0e40616

Browse files
committed
Fix a UInt32 overflow
1 parent e303ec3 commit 0e40616

1 file changed

Lines changed: 6 additions & 6 deletions

File tree

Sources/ContainerizationEXT4/EXT4Reader+Export.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,9 @@ extension EXT4.EXT4Reader {
7373
entry.size = Int64(size)
7474
entry.group = gid_t(inode.gid)
7575
entry.owner = uid_t(inode.uid)
76-
entry.creationDate = Date(fsTimestamp: UInt64((inode.crtimeExtra << 32) | inode.crtime))
77-
entry.modificationDate = Date(fsTimestamp: UInt64((inode.mtimeExtra << 32) | inode.mtime))
78-
entry.contentAccessDate = Date(fsTimestamp: UInt64((inode.atimeExtra << 32) | inode.atime))
76+
entry.creationDate = Date(fsTimestamp: UInt64(inode.crtimeExtra) << 32 | UInt64(inode.crtime))
77+
entry.modificationDate = Date(fsTimestamp: UInt64(inode.mtimeExtra) << 32 | UInt64(inode.mtime))
78+
entry.contentAccessDate = Date(fsTimestamp: UInt64(inode.atimeExtra) << 32 | UInt64(inode.atime))
7979
entry.xattrs = xattrs
8080

8181
if mode.isDir() {
@@ -156,9 +156,9 @@ extension EXT4.EXT4Reader {
156156
entry.permissions = inode.mode
157157
entry.group = gid_t(inode.gid)
158158
entry.owner = uid_t(inode.uid)
159-
entry.creationDate = Date(fsTimestamp: UInt64((inode.crtimeExtra << 32) | inode.crtime))
160-
entry.modificationDate = Date(fsTimestamp: UInt64((inode.mtimeExtra << 32) | inode.mtime))
161-
entry.contentAccessDate = Date(fsTimestamp: UInt64((inode.atimeExtra << 32) | inode.atime))
159+
entry.creationDate = Date(fsTimestamp: UInt64(inode.crtimeExtra) << 32 | UInt64(inode.crtime))
160+
entry.modificationDate = Date(fsTimestamp: UInt64(inode.mtimeExtra) << 32 | UInt64(inode.mtime))
161+
entry.contentAccessDate = Date(fsTimestamp: UInt64(inode.atimeExtra) << 32 | UInt64(inode.atime))
162162
try writer.writeEntry(entry: entry, data: nil)
163163
}
164164
try writer.finishEncoding()

0 commit comments

Comments
 (0)