Changeset 54 for trunk/kLdr/kLdrModMachO.c
- Timestamp:
- Oct 9, 2013, 9:52:48 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kLdr/kLdrModMachO.c
r53 r54 164 164 /** Pointer to the loaded string table. */ 165 165 char *pchStrings; 166 167 /** The image UUID, all zeros if not found. */ 168 KU8 abImageUuid[16]; 166 169 167 170 /** The RVA of the Global Offset Table. */ … … 475 478 pModMachO->cchStrings = 0; 476 479 pModMachO->pchStrings = NULL; 480 kHlpMemSet(pModMachO->abImageUuid, 0, sizeof(pModMachO->abImageUuid)); 477 481 pModMachO->GotRVA = NIL_KLDRADDR; 478 482 pModMachO->JmpStubsRVA = NIL_KLDRADDR; … … 1117 1121 const segment_command_64_t *pSeg64; 1118 1122 const symtab_command_t *pSymTab; 1123 const uuid_command_t *pUuid; 1119 1124 } u; 1120 1125 const char *pchCurSegName = NULL; … … 1426 1431 break; 1427 1432 1433 case LC_UUID: 1434 kHlpMemCopy(pModMachO->abImageUuid, u.pUuid->uuid, sizeof(pModMachO->abImageUuid)); 1435 break; 1436 1428 1437 default: 1429 1438 break; … … 2404 2413 *pMainEPAddress = NIL_KLDRADDR; 2405 2414 #endif 2415 return 0; 2416 } 2417 2418 2419 /** @copydoc kLdrModQueryImageUuid */ 2420 static int kldrModMachOQueryImageUuid(PKLDRMOD pMod, const void *pvBits, void *pvUuid, KSIZE cbUuid) 2421 { 2422 PKLDRMODMACHO pModMachO = (PKLDRMODMACHO)pMod->pvData; 2423 kHlpMemSet(pvUuid, 0, cbUuid); 2424 if (kHlpMemComp(pvUuid, pModMachO->abImageUuid, sizeof(pModMachO->abImageUuid)) == 0) 2425 return KLDR_ERR_NO_IMAGE_UUID; 2426 kHlpMemCopy(pvUuid, pModMachO->abImageUuid, sizeof(pModMachO->abImageUuid)); 2406 2427 return 0; 2407 2428 } … … 3739 3760 kldrModMachOGetStackInfo, 3740 3761 kldrModMachOQueryMainEntrypoint, 3762 kldrModMachOQueryImageUuid, 3741 3763 NULL, 3742 3764 NULL,
Note:
See TracChangeset
for help on using the changeset viewer.