int i, n;
zoneid = mrp_zone_get_id(zone);
+
+ /* We got a nonsense zone id */
+ if (zoneid >= MRP_ZONE_MAX) {
+ mrp_debug("invalid zoneid '" PRIu32 "' is larger than MRP_ZONE_MAX (%d), "
+ "bailing", zoneid, MRP_ZONE_MAX);
+ return;
+ }
+
classes = screen->classes + zoneid;
mrp_list_foreach_back(classes, centry, cn) {
screen_resource_t *sr;
zoneid = mrp_zone_get_id(zone);
+
+ /* We got a nonsense zone id */
+ if (zoneid >= MRP_ZONE_MAX) {
+ mrp_debug("invalid zoneid '" PRIu32 "' is larger than MRP_ZONE_MAX (%d), "
+ "bailing", zoneid, MRP_ZONE_MAX);
+ return;
+ }
+
classes = screen->classes + zoneid;
grantid = ++screen->grantids[zoneid];
MRP_ASSERT(res && screen, "invalid argument");
zoneid = mrp_zone_get_id(zone);
+
+ /* We got a nonsense zone id */
+ if (zoneid >= MRP_ZONE_MAX) {
+ mrp_debug("invalid zoneid '" PRIu32 "' is larger than MRP_ZONE_MAX (%d), "
+ "bailing", zoneid, MRP_ZONE_MAX);
+ return FALSE;
+ }
+
grantid = screen->grantids[zoneid];
if ((sr = screen_resource_lookup(screen, res))) {