You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Patch] Fix ALLOW_32BIT_KERNEL_ON_X64 and Remove Redundant Code #796
I sent you (peter) something similar via email in 2021 but never heard back so just ignored, but now I'll post here as issue. This relates back to issue #30 here where I sent you a patch that was implemented with some differences. I don't recall if this bug was introduced in that first round or added later but I've simply been fixing it on each submission. I took my main patch and manually split it so only the fix issue is addressed here.
If you have any questions about it, just email back.
FWIW it may be easier to understand that block if rewritten as:
if (PEHdr->Pe32.FileHeader.Machine != machine_type) {
if (machine_type != IMAGE_FILE_MACHINE_I386 ||
PEHdr->Pe32.FileHeader.Machine != IMAGE_FILE_MACHINE_X64 ||
!allow_64_bit()) {
return 0;
}
}
Then it’s clearer to see it’s redundant on 32-bit builds (the code that follows that does the same thing) and breaks the ALLOW_32BIT_KERNEL_ON_X64 option on 64-bit builds (since that block doesn’t allow it through to check allow_32_bit). The logic of allow_32_bit and allow_64_bit is correct.
Activity