| 61 | } |
| 62 | |
| 63 | Result VerifyResource(const dmResource::HManifest manifest, const uint8_t* expected, uint32_t expected_length, const uint8_t* data, uint32_t data_length) |
| 64 | { |
| 65 | if (manifest == 0x0 || data == 0x0) |
| 66 | { |
| 67 | return RESULT_INVALID_DATA; |
| 68 | } |
| 69 | |
| 70 | dmLiveUpdateDDF::HashAlgorithm algorithm = manifest->m_DDFData->m_Header.m_ResourceHashAlgorithm; |
| 71 | uint32_t digestLength = dmResource::HashLength(algorithm); |
| 72 | uint8_t* digest = (uint8_t*) alloca(digestLength * sizeof(uint8_t)); |
| 73 | |
| 74 | dmResource::CreateResourceHash(algorithm, data, data_length, digest); |
| 75 | |
| 76 | uint32_t hexDigestLength = digestLength * 2 + 1; |
| 77 | uint8_t* hexDigest = (uint8_t*) alloca(hexDigestLength * sizeof(uint8_t)); |
| 78 | |
| 79 | dmResource::BytesToHexString(digest, dmResource::HashLength(algorithm), (char*)hexDigest, hexDigestLength); |
| 80 | return dmResource::MemCompare(hexDigest, hexDigestLength-1, expected, expected_length); |
| 81 | } |
| 82 | |
| 83 | Result VerifyManifestSupportedEngineVersion(const dmResource::HManifest manifest) |
| 84 | { |
nothing calls this directly
no test coverage detected