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());
|
eo_do(obj, role = elm_interface_atspi_accessible_role_get());
|
||||||
|
|
||||||
if (role > 64)
|
if (role >= 64)
|
||||||
{
|
{
|
||||||
role -= 64;
|
role -= 64;
|
||||||
role_set = rule->roles[1];
|
role_set = rule->roles[1];
|
||||||
|
@ -2597,6 +2597,12 @@ _collection_match_roles_lookup(Eo *obj, struct collection_match_rule *rule)
|
||||||
else
|
else
|
||||||
role_set = rule->roles[0];
|
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)
|
switch (rule->rolematchtype)
|
||||||
{
|
{
|
||||||
case ATSPI_Collection_MATCH_INVALID:
|
case ATSPI_Collection_MATCH_INVALID:
|
||||||
|
|
Loading…
Reference in New Issue