https://git.reactos.org/?p=reactos.git;a=commitdiff;h=88b933330d110ad142fe8de2241dd4cc278fad15

commit 88b933330d110ad142fe8de2241dd4cc278fad15
Author:     Hermès Bélusca-Maïto <[email protected]>
AuthorDate: Sat Apr 10 20:06:56 2021 +0200
Commit:     Hermès Bélusca-Maïto <[email protected]>
CommitDate: Wed May 5 19:15:01 2021 +0200

    [PEFIXUP] Only recalculate the PE checksum if the image is not from a 
reproducible build (original checksum == 0). (#3598)
---
 sdk/tools/pefixup.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/sdk/tools/pefixup.c b/sdk/tools/pefixup.c
index 22d3d0c00fa..bb4f9ddaffc 100644
--- a/sdk/tools/pefixup.c
+++ b/sdk/tools/pefixup.c
@@ -283,10 +283,11 @@ int main(int argc, char **argv)
 
             if (!result)
             {
-                /* Success. Fix checksum and write to file */
-                fix_checksum(buffer, len, nt_header);
+                /* Success. Recalculate the checksum only if this is not a 
reproducible build file */
+                if (nt_header->OptionalHeader.CheckSum != 0)
+                    fix_checksum(buffer, len, nt_header);
 
-                /* We could 'optimize by only writing the changed parts, but 
keep it simple for now */
+                /* We could optimize by only writing the changed parts, but 
keep it simple for now */
                 fseek(file, 0, SEEK_SET);
                 fwrite(buffer, 1, len, file);
             }

Reply via email to