From: Marek Olšák Date: Wed, 30 Sep 2020 17:44:52 +0000 (-0400) Subject: util/idalloc: resize if ID is too large for reservation X-Git-Tag: upstream/21.0.0~4614 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=72fa3372cc0c63ca5158276afbb2ddba5a4f88d8;p=platform%2Fupstream%2Fmesa.git util/idalloc: resize if ID is too large for reservation Reviewed-by: Ian Romanick Part-of: --- diff --git a/src/util/u_idalloc.c b/src/util/u_idalloc.c index b5d886d..9255faa 100644 --- a/src/util/u_idalloc.c +++ b/src/util/u_idalloc.c @@ -103,7 +103,8 @@ util_idalloc_free(struct util_idalloc *buf, unsigned id) void util_idalloc_reserve(struct util_idalloc *buf, unsigned id) { - assert(id < buf->num_elements); + if (id >= buf->num_elements) + util_idalloc_resize(buf, id * 2); assert((buf->data[id / 32] & (1u << (id % 32))) == 0); buf->data[id / 32] |= 1u << (id % 32); }