Prevent silent abort with File Comparison of files whose size is an exact multiple of 2^32 bytes #257
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Prevent silent abort with File Comparison of files whose size is an exact multiple of 2^32 bytes
File size values that were all zero in the low 32 bits were assumed to be empty,
and thus did not have some critical pointers initialized. This resulted in WinMerge
silently aborting with no message.
WinMerge will now properly continue, but will likely display an "Out of memory" error
message box.
I discovered this when attempting to compare two files that are exactly 0x3700000000
(236,223,201,280) bytes long. A pointless exercise of course... Memory eventually fills up
and an "Out of memory" error is displayed. After clicking "OK", WinMerge terminates the
comparison, and returns to the "Select Files or Folders" dialog, but does not actually
release the memory until the program has completely terminated !!
Folder Comparison with files of this extreme size does not exhibit this problem.