forked from enlightenment/efl
atspi: fix invalid shift operation.
Add additional check in case when Elm_Atspi_Role_Type enum will enlarge. CID: 1325724
This commit is contained in:
parent
e7dbba85c9
commit
f9defcd945
|
@ -2589,7 +2589,7 @@ _collection_match_roles_lookup(Eo *obj, struct collection_match_rule *rule)
|
|||
|
||||
eo_do(obj, role = elm_interface_atspi_accessible_role_get());
|
||||
|
||||
if (role > 64)
|
||||
if (role >= 64)
|
||||
{
|
||||
role -= 64;
|
||||
role_set = rule->roles[1];
|
||||
|
@ -2597,6 +2597,12 @@ _collection_match_roles_lookup(Eo *obj, struct collection_match_rule *rule)
|
|||
else
|
||||
role_set = rule->roles[0];
|
||||
|
||||
if (role >= 64)
|
||||
{
|
||||
ERR("Elm_Atspi_Role enum value exceeds 127. Unable to compare with roles bit field.");
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
switch (rule->rolematchtype)
|
||||
{
|
||||
case ATSPI_Collection_MATCH_INVALID:
|
||||
|
|
Loading…
Reference in New Issue