@@ -96,10 +96,12 @@ AlignValueUp(size_t value, size_t alignment) {
9696 return (value + alignment - 1 ) & ~(alignment - 1 );
9797}
9898
99- #ifdef DEBUG_OUTPUT
100- static void
99+ static inline void
101100OutputLastError (const char * msg )
102101{
102+ #ifndef DEBUG_OUTPUT
103+ UNREFERENCED_PARAMETER (msg );
104+ #else
103105 LPVOID tmp ;
104106 char * tmpmsg ;
105107 FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS ,
@@ -109,8 +111,8 @@ OutputLastError(const char *msg)
109111 OutputDebugString (tmpmsg );
110112 LocalFree (tmpmsg );
111113 LocalFree (tmp );
112- }
113114#endif
115+ }
114116
115117static BOOL
116118CheckSize (size_t size , size_t expected ) {
@@ -240,9 +242,7 @@ FinalizeSection(PMEMORYMODULE module, PSECTIONFINALIZEDATA sectionData) {
240242
241243 // change memory access flags
242244 if (VirtualProtect (sectionData -> address , sectionData -> size , protect , & oldProtect ) == 0 ) {
243- #ifdef DEBUG_OUTPUT
244- OutputLastError ("Error protecting memory page" )
245- #endif
245+ OutputLastError ("Error protecting memory page" );
246246 return FALSE;
247247 }
248248
@@ -341,16 +341,10 @@ PerformBaseRelocation(PMEMORYMODULE module, ptrdiff_t delta)
341341 unsigned char * dest = codeBase + relocation -> VirtualAddress ;
342342 unsigned short * relInfo = (unsigned short * )((unsigned char * )relocation + IMAGE_SIZEOF_BASE_RELOCATION );
343343 for (i = 0 ; i < ((relocation -> SizeOfBlock - IMAGE_SIZEOF_BASE_RELOCATION ) / 2 ); i ++ , relInfo ++ ) {
344- DWORD * patchAddrHL ;
345- #ifdef _WIN64
346- ULONGLONG * patchAddr64 ;
347- #endif
348- int type , offset ;
349-
350344 // the upper 4 bits define the type of relocation
351- type = * relInfo >> 12 ;
345+ int type = * relInfo >> 12 ;
352346 // the lower 12 bits define the offset
353- offset = * relInfo & 0xfff ;
347+ int offset = * relInfo & 0xfff ;
354348
355349 switch (type )
356350 {
@@ -360,14 +354,18 @@ PerformBaseRelocation(PMEMORYMODULE module, ptrdiff_t delta)
360354
361355 case IMAGE_REL_BASED_HIGHLOW :
362356 // change complete 32 bit address
363- patchAddrHL = (DWORD * ) (dest + offset );
364- * patchAddrHL += (DWORD ) delta ;
357+ {
358+ DWORD * patchAddrHL = (DWORD * ) (dest + offset );
359+ * patchAddrHL += (DWORD ) delta ;
360+ }
365361 break ;
366362
367363#ifdef _WIN64
368364 case IMAGE_REL_BASED_DIR64 :
369- patchAddr64 = (ULONGLONG * ) (dest + offset );
370- * patchAddr64 += (ULONGLONG ) delta ;
365+ {
366+ ULONGLONG * patchAddr64 = (ULONGLONG * ) (dest + offset );
367+ * patchAddr64 += (ULONGLONG ) delta ;
368+ }
371369 break ;
372370#endif
373371
@@ -528,10 +526,11 @@ HMEMORYMODULE MemoryLoadLibraryEx(const void *data, size_t size,
528526 }
529527
530528#ifdef _WIN64
531- if ( old_header -> FileHeader . Machine ! = IMAGE_FILE_MACHINE_AMD64 ) {
529+ static const WORD HOST_MACHINE = IMAGE_FILE_MACHINE_AMD64 ;
532530#else
533- if ( old_header -> FileHeader . Machine ! = IMAGE_FILE_MACHINE_I386 ) {
531+ static const WORD HOST_MACHINE = IMAGE_FILE_MACHINE_I386 ;
534532#endif
533+ if (old_header -> FileHeader .Machine != HOST_MACHINE ) {
535534 SetLastError (ERROR_BAD_EXE_FORMAT );
536535 return NULL ;
537536 }
0 commit comments