Philip Withnall 21a204147b gvariant: Propagate trust when getting a child of a serialised variant
If a variant is trusted, that means all its children are trusted, so
ensure that their checked offsets are set as such.

This allows a lot of the offset table checks to be avoided when getting
children from trusted serialised tuples, which speeds things up.

No unit test is included because this is just a performance fix. If
there are other slownesses, or regressions, in serialised `GVariant`
performance, the fuzzing setup will catch them like it did this one.

This change does reduce the time to run the oss-fuzz reproducer from 80s
to about 0.7s on my machine.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Fixes: #2841
oss-fuzz#54314
2022-12-21 19:50:26 +00:00
..
2022-06-27 17:53:25 -04:00
2022-05-23 09:19:45 -04:00
2022-06-29 16:05:09 +02:00
2022-06-23 10:47:22 +01:00
2022-06-23 10:47:22 +01:00
2020-11-17 15:50:07 +00:00
2018-01-04 22:19:30 +01:00
2022-07-25 22:30:22 +01:00
2021-09-21 09:41:29 +00:00
2021-11-18 14:32:09 +00:00
2022-09-15 03:43:04 +02:00