- Timestamp:
- Sep 25, 2018 10:16:07 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/common/ldr/ldrPE.cpp
r73758 r74452 4191 4191 { 4192 4192 IMAGE_LOAD_CONFIG_DIRECTORY64 Cfg64; 4193 uint8_t abZeros[sizeof(IMAGE_LOAD_CONFIG_DIRECTORY64 _V7) * 4];4193 uint8_t abZeros[sizeof(IMAGE_LOAD_CONFIG_DIRECTORY64) * 4]; 4194 4194 } u; 4195 4195 … … 4257 4257 * Read, check new stuff and convert to 64-bit. 4258 4258 * 4259 * If we accepted a newer structure , we check whether the new bits are4260 * all zero. This PRAYING/ASSUMING that the nothing new weird stuff is4261 * activated by a zero value and that it'll mostly be unused in areas4262 * we care about (which has been the case till now).4259 * If we accepted a newer structures when loading for debug or validation, 4260 * otherwise we require the new bits to be all zero and hope that they are 4261 * insignificant where image loading is concerned (that's mostly been the 4262 * case even for non-zero bits, only hard exception is LockPrefixTable). 4263 4263 */ 4264 4264 RT_ZERO(u.Cfg64); … … 4268 4268 if ( fNewerStructureHack 4269 4269 && Dir.Size > cbMaxKnown 4270 && !(fFlags & (RTLDR_O_FOR_DEBUG | RTLDR_O_FOR_VALIDATION)) 4270 4271 && !ASMMemIsZero(&u.abZeros[cbMaxKnown], Dir.Size - cbMaxKnown)) 4271 4272 {
Note:
See TracChangeset
for help on using the changeset viewer.