ICU-22004 Avoid UBSan bug by casting only when success

This commit is contained in:
Frank Tang 2022-06-24 16:43:55 -07:00 committed by Frank Yung-Fong Tang
parent 86cc2b98cb
commit 43f2ae75ca

View file

@ -230,7 +230,10 @@ ulocdata_getMeasurementSystem(const char *localeID, UErrorCode *status){
}
measurement = measurementTypeBundleForLocale(localeID, MEASUREMENT_SYSTEM, status);
system = (UMeasurementSystem) ures_getInt(measurement, status);
int32_t result = ures_getInt(measurement, status);
if (U_SUCCESS(*status)) {
system = static_cast<UMeasurementSystem>(result);
}
ures_close(measurement);