Closed boricj closed 3 years ago
So I've looked at it and the utility is choking on large logical cluster numbers in the data runs because of these kinds of constructs in the source code:
l_val &= (1 << (l * 8)) - 1;
With a large enough l
, 1 << (l * 8)
will overflow an int
and bad things happen. By changing all occurrences to 1ull << (l * 8)
, the utility managed to complete execution (with warnings about overly large ADS and compressed files, but that's a separate issue).
Brilliant! Thanks for this, that's very helpful.
I believe MSVC's code analyser picks up stuff like this - I'll run it through that and see if it finds anything else similar.
All the arithmetic overflow issues should now be fixed.
I'm following the Quibble installation procedure and I have an error at the file-system conversion step:
The target partition is a straightforward, fresh Windows 10 20H2 French physical UEFI installation on a 480 GiB NVMe drive, with all Windows updates applied, WinBTRFS 1.7.5 installed, fast boot+pagefile disabled. The error happens on both Linux (Debian 10 netinstall media with statically-linked ntfs2btrfs) and Windows (Windows 10 20H2 installation media).
Details about the installation: