Check the size of the g_new arguments
We're passing integers without validating their size, and newer GCC are very cross about it, with warnings like:
warning: argument 1 range [18446744071562067968, 18446744073709551615]
exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
We should check we're not overflowing the allocation size, by limiting the range of values we can use.
First of all, we need to use gsize
instead of a random int
, since we're
allocating data.
Additionally, we need to check that the multiplication that computes the
size of the allocation doesn't overflow the maximum value of a gsize
.