Changeset 89 in kStuff
- Timestamp:
- Sep 7, 2016 1:32:53 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kLdr/kLdrModPE.c
r85 r89 230 230 pMod->pOps = NULL; /* set upon success. */ 231 231 pMod->cSegments = s.FileHdr.NumberOfSections + 1; 232 pMod->cchFilename = cchFilename;232 pMod->cchFilename = (KU32)cchFilename; 233 233 pMod->pszFilename = (char *)&pMod->aSegments[pMod->cSegments]; 234 234 kHlpMemCopy((char *)pMod->pszFilename, kRdrName(pRdr), cchFilename + 1); 235 235 pMod->pszName = kHlpGetFilename(pMod->pszFilename); 236 pMod->cchName = cchFilename - (pMod->pszName - pMod->pszFilename);236 pMod->cchName = (KU32)(cchFilename - (pMod->pszName - pMod->pszFilename)); 237 237 pMod->fFlags = 0; 238 238 switch (s.FileHdr.Machine) … … 325 325 { 326 326 const char *pch; 327 KU32 cb2; 327 328 328 329 /* unused */ … … 335 336 /* name */ 336 337 pMod->aSegments[i + 1].pchName = pch = (const char *)&pModPE->aShdrs[i].Name[0]; 337 cb = IMAGE_SIZEOF_SHORT_NAME;338 while ( cb > 0339 && (pch[cb - 1] == ' ' || pch[cb- 1] == '\0'))340 cb --;341 pMod->aSegments[i + 1].cchName = cb ;338 cb2 = IMAGE_SIZEOF_SHORT_NAME; 339 while ( cb2 > 0 340 && (pch[cb2 - 1] == ' ' || pch[cb2 - 1] == '\0')) 341 cb2--; 342 pMod->aSegments[i + 1].cchName = cb2; 342 343 343 344 /* size and addresses */ … … 345 346 { 346 347 /* Kluge to deal with wlink ".reloc" sections that has a VirtualSize of 0 bytes. */ 347 KU32 cb= pModPE->aShdrs[i].Misc.VirtualSize;348 if (!cb )349 cb = K_ALIGN_Z(pModPE->aShdrs[i].SizeOfRawData, pModPE->Hdrs.OptionalHeader.SectionAlignment);348 cb2 = pModPE->aShdrs[i].Misc.VirtualSize; 349 if (!cb2) 350 cb2 = K_ALIGN_Z(pModPE->aShdrs[i].SizeOfRawData, pModPE->Hdrs.OptionalHeader.SectionAlignment); 350 351 pMod->aSegments[i + 1].cb = pModPE->aShdrs[i].Misc.VirtualSize; 351 352 pMod->aSegments[i + 1].LinkAddress = pModPE->aShdrs[i].VirtualAddress 352 353 + pModPE->Hdrs.OptionalHeader.ImageBase; 353 354 pMod->aSegments[i + 1].RVA = pModPE->aShdrs[i].VirtualAddress; 354 pMod->aSegments[i + 1].cbMapped = cb ;355 pMod->aSegments[i + 1].cbMapped = cb2; 355 356 if (i + 2 < pMod->cSegments) 356 357 pMod->aSegments[i + 1].cbMapped= pModPE->aShdrs[i + 1].VirtualAddress … … 370 371 if ( pMod->aSegments[i + 1].cbMapped > 0 /* if mapped */ 371 372 && (KLDRSIZE)pMod->aSegments[i + 1].cbFile > pMod->aSegments[i + 1].cbMapped) 372 pMod->aSegments[i + 1].cbFile = pMod->aSegments[i + 1].cbMapped;373 pMod->aSegments[i + 1].cbFile = (KLDRFOFF)(pMod->aSegments[i + 1].cbMapped); 373 374 374 375 /* protection */ … … 859 860 if (!*pszSymbol) 860 861 return KLDR_ERR_PE_BAD_FORWARDER; 861 cchImpModule = pszSymbol - pszForwarder;862 cchImpModule = (KU32)(pszSymbol - pszForwarder); 862 863 863 864 pszSymbol++; /* skip the dot */ … … 1296 1297 if (pvMapping == KLDRMOD_INT_MAP) 1297 1298 { 1298 pvMapping = pModPE->pvMapping;1299 pvMapping = (void *)pModPE->pvMapping; 1299 1300 if (!pvMapping) 1300 1301 return KLDR_ERR_NOT_MAPPED; … … 1322 1323 if (pvMapping == KLDRMOD_INT_MAP) 1323 1324 { 1324 pvMapping = pModPE->pvMapping;1325 pvMapping = (void *)pModPE->pvMapping; 1325 1326 if (!pvMapping) 1326 1327 return; … … 1731 1732 if (pvMapping == KLDRMOD_INT_MAP) 1732 1733 { 1733 pvMapping = pModPE->pvMapping;1734 pvMapping = (void *)pModPE->pvMapping; 1734 1735 if (!pvMapping) 1735 1736 return KLDR_ERR_NOT_MAPPED; … … 1889 1890 if (pvMapping == KLDRMOD_INT_MAP) 1890 1891 { 1891 pvMapping = pModPE->pvMapping;1892 pvMapping = (void *)pModPE->pvMapping; 1892 1893 if (!pvMapping) 1893 1894 return KLDR_ERR_NOT_MAPPED; … … 1917 1918 if (pvMapping == KLDRMOD_INT_MAP) 1918 1919 { 1919 pvMapping = pModPE->pvMapping;1920 pvMapping = (void *)pModPE->pvMapping; 1920 1921 if (!pvMapping) 1921 1922 return KLDR_ERR_NOT_MAPPED;
Note:
See TracChangeset
for help on using the changeset viewer.