eric pouech (@epo) commented about dlls/imagehlp/integrity.c:
if( !ret ) goto end;
+ memcpy(DataDirectory, DataDirBackup, NumberOfRvaAndSizes * sizeof(*DataDirectory)); + /* Read the section headers */ offset += size; - num_sections = nt_hdr->FileHeader.NumberOfSections; + num_sections = nthdr32->FileHeader.NumberOfSections; size = num_sections * sizeof(IMAGE_SECTION_HEADER); if( offset + size > fileSize ) goto invalid_parameter; + section_headers = (IMAGE_SECTION_HEADER *)(map + offset); + + /* Zero out some sections */ + for( i = 0; DigestLevel != 0 && (DigestLevel & CERT_PE_IMAGE_DIGEST_RESOURCES) == 0 && i < num_sections; i++ )
for readibilty, it would be better to write it as ``` if (...) { for (i = 0; i < num_sections; i++) ``` -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10295#note_137579