diff --git a/src/kits/support/CharacterSetRoster.cpp b/src/kits/support/CharacterSetRoster.cpp index eb7a0db6ea..7ce1475cf5 100644 --- a/src/kits/support/CharacterSetRoster.cpp +++ b/src/kits/support/CharacterSetRoster.cpp @@ -54,18 +54,27 @@ BCharacterSetRoster::StopWatching(BMessenger target) const BCharacterSet * BCharacterSetRoster::GetCharacterSetByFontID(uint32 id) { + if ((id < 0) || (id >= character_sets_by_id_count)) { + return NULL; + } return character_sets_by_id[id]; } const BCharacterSet * BCharacterSetRoster::GetCharacterSetByConversionID(uint32 id) { + if ((id+1 < 0) || (id+1 >= character_sets_by_id_count)) { + return NULL; + } return character_sets_by_id[id+1]; } const BCharacterSet * BCharacterSetRoster::GetCharacterSetByMIBenum(uint32 MIBenum) { + if ((MIBenum < 0) || (MIBenum > maximum_valid_MIBenum)) { + return NULL; + } return character_sets_by_MIBenum[MIBenum]; }