MCPcopy Create free account
hub / github.com/defold/defold / VerifyResource

Function VerifyResource

engine/resource/src/resource_verify.cpp:63–81  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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 {

Callers

nothing calls this directly

Calls 4

HashLengthFunction · 0.85
CreateResourceHashFunction · 0.85
BytesToHexStringFunction · 0.85
MemCompareFunction · 0.85

Tested by

no test coverage detected