Changeset 2883 for trunk/kLdr/kLdrModPE.c
- Timestamp:
- Nov 18, 2006, 12:21:33 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kLdr/kLdrModPE.c
r2878 r2883 58 58 */ 59 59 #define KLDRMODPE_RVA2TYPE(pvBits, uRVA, type) \ 60 ( (type) ((uintptr_t)(pvBits) + (u RVA)) )60 ( (type) ((uintptr_t)(pvBits) + (uintptr_t)(uRVA)) ) 61 61 62 62 /** @def KLDRMODPE_VALID_RVA … … 119 119 PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser); 120 120 static int kldrModPEDoImports(PKLDRMODPE pModPE, void *pvMapping, PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser); 121 static int kldrModPEDoImportsFor32BitArch(PKLDRMODPE pModPE, void *pvMapping, PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser);122 static int kldrModPEDoImportsFor64BitArch(PKLDRMODPE pModPE, void *pvMapping, PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser);123 121 static int kldrModPEDoCallDLL(PKLDRMODPE pModPE, unsigned uOp, uintptr_t uHandle); 124 122 static int kldrModPEDoCallTLS(PKLDRMODPE pModPE, unsigned uOp, uintptr_t uHandle); … … 188 186 189 187 /* sanity checks. */ 190 if ( s.FileHdr.NumberOfSections > 1024*1024188 if ( s.FileHdr.NumberOfSections > 4096 191 189 || ( s.FileHdr.SizeOfOptionalHeader != sizeof(IMAGE_OPTIONAL_HEADER32) 192 190 && s.FileHdr.SizeOfOptionalHeader != sizeof(IMAGE_OPTIONAL_HEADER64)) … … 309 307 for (i = 0; i < pModPE->Hdrs.FileHeader.NumberOfSections; i++) 310 308 { 311 c har *pch;309 const char *pch; 312 310 313 311 /* unused */ … … 316 314 317 315 /* name */ 318 pMod->aSegments[i + 1].pchName = pch = &pModPE->aShdrs[i].Name[0];316 pMod->aSegments[i + 1].pchName = pch = (const char *)&pModPE->aShdrs[i].Name[0]; 319 317 cb = IMAGE_SIZEOF_SHORT_NAME; 320 318 while ( cb > 0 … … 607 605 { 608 606 PKLDRMOD pMod = pModPE->pMod; 609 size_t cb = (size_t)pMod->pOps->pfnSize(pModPE->pMod);610 607 int rc; 611 608 uint32_t i; … … 1029 1026 const IMAGE_IMPORT_DESCRIPTOR *); 1030 1027 pszImportName = KLDRMODPE_RVA2TYPE(pvBits, pImpDesc->Name, const char *); 1031 cchImportName = strlen(pszImportName);1028 cchImportName = kLdrHlpStrLen(pszImportName); 1032 1029 if (cchImportName < cchName) 1033 1030 { … … 1154 1151 case IMAGE_DEBUG_TYPE_UNKNOWN: 1155 1152 case IMAGE_DEBUG_TYPE_FPO: 1156 case IMAGE_DEBUG_TYPE_COFF: / /stabs dialect??1153 case IMAGE_DEBUG_TYPE_COFF: /*stabs dialect??*/ 1157 1154 case IMAGE_DEBUG_TYPE_MISC: 1158 1155 case IMAGE_DEBUG_TYPE_EXCEPTION: … … 1440 1437 /* 5 - 32-bit MIPS JMPADDR, no implemented. */ 1441 1438 case IMAGE_REL_BASED_MIPS_JMPADDR: 1442 *u.pu32 = *u.pu32 & 0xc00000001439 *u.pu32 = (*u.pu32 & 0xc0000000) 1443 1440 | ((uint32_t)((*u.pu32 << 2) + (uint32_t)Delta) >> 2); 1444 1441 break; … … 1582 1579 { 1583 1580 const IMAGE_IMPORT_BY_NAME *pName = KLDRMODPE_RVA2TYPE(pvMapping, pThunk->u1.Ordinal, const IMAGE_IMPORT_BY_NAME *); 1584 rc = pfnGetImport(pMod, iImp, NIL_KLDRMOD_SYM_ORDINAL, pName->Name, &Value, &fKind, pvUser);1581 rc = pfnGetImport(pMod, iImp, NIL_KLDRMOD_SYM_ORDINAL, (const char *)pName->Name, &Value, &fKind, pvUser); 1585 1582 } 1586 1583 else
Note:
See TracChangeset
for help on using the changeset viewer.