mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-19 22:45:43 +00:00
don't crash when calling EnumNameXXX on sparse enum (#4982)
Make an out-of-bounds check for enum values before using them to index the names array. For consistency with non-sparse enums an empty string is returned. Fixes #4821
This commit is contained in:
committed by
Wouter van Oortmerssen
parent
a4f9d1bfcc
commit
99fe1dc80f
@@ -55,6 +55,7 @@ inline const char * const *EnumNamesColor() {
|
||||
}
|
||||
|
||||
inline const char *EnumNameColor(Color e) {
|
||||
if (e < Color_Red || e > Color_Blue) return "";
|
||||
const size_t index = static_cast<int>(e);
|
||||
return EnumNamesColor()[index];
|
||||
}
|
||||
@@ -84,6 +85,7 @@ inline const char * const *EnumNamesEquipment() {
|
||||
}
|
||||
|
||||
inline const char *EnumNameEquipment(Equipment e) {
|
||||
if (e < Equipment_NONE || e > Equipment_Weapon) return "";
|
||||
const size_t index = static_cast<int>(e);
|
||||
return EnumNamesEquipment()[index];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user