Skip to content

Check the size of the g_new arguments

Emmanuele Bassi requested to merge validate-alloc-size into master

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.

Merge request reports