Merge "zip_archive.cc: fix ubsan false positive"

am: adcfbf804f

Change-Id: Ia58127a6fc31aa67cd384504fde1f4f8b9a9ec95
This commit is contained in:
Nick Kralevich 2019-04-04 20:37:45 -07:00 committed by android-build-merger
commit 694e91f676

View file

@ -102,21 +102,9 @@ static uint32_t RoundUpPower2(uint32_t val) {
}
static uint32_t ComputeHash(const ZipString& name) {
#if !defined(_WIN32)
return std::hash<std::string_view>{}(
std::string_view(reinterpret_cast<const char*>(name.name), name.name_length));
#else
// Remove this code path once the windows compiler knows how to compile the above statement.
uint32_t hash = 0;
uint16_t len = name.name_length;
const uint8_t* str = name.name;
while (len--) {
hash = hash * 31 + *str++;
}
return hash;
#endif
std::string_view(reinterpret_cast<const char*>(name.name), name.name_length)) &
UINT32_MAX;
}
static bool isZipStringEqual(const uint8_t* start, const ZipString& zip_string,