diff --git a/src/util/u_dynarray.h b/src/util/u_dynarray.h index 4f1092c2848..16d81495994 100644 --- a/src/util/u_dynarray.h +++ b/src/util/u_dynarray.h @@ -125,7 +125,7 @@ util_dynarray_resize_bytes(struct util_dynarray *buf, unsigned nelts, size_t elt if (unlikely(nelts > UINT_MAX / eltsize)) return NULL; - unsigned newsize = nelts * eltsize; + unsigned newsize = nelts * (unsigned)eltsize; void *p = util_dynarray_ensure_cap(buf, newsize); if (!p) return NULL; @@ -147,7 +147,7 @@ util_dynarray_clone(struct util_dynarray *buf, void *mem_ctx, MUST_CHECK static inline void * util_dynarray_grow_bytes(struct util_dynarray *buf, unsigned ngrow, size_t eltsize) { - unsigned growbytes = ngrow * eltsize; + unsigned growbytes = ngrow * (unsigned)eltsize; if (unlikely(ngrow > (UINT_MAX / eltsize) || growbytes > UINT_MAX - buf->size))