Philip Withnall e03d5a335b gdbusmessage: Check for valid GVariantType when parsing a variant blob
The code was checking whether the signature provided by the blob was a
valid D-Bus signature — but that’s a superset of a valid GVariant type
string, since a D-Bus signature is zero or more complete types. A
GVariant type string is exactly one complete type.

This meant that a D-Bus message with a header field containing a variant
with an empty type signature (for example) could cause a critical
warning in the code parsing it.

Fix that by checking whether the string is a valid type string too.

Unit test included.

oss-fuzz#9810

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2018-10-23 17:01:51 +13:00
..
2013-11-23 22:21:29 -05:00
2014-09-09 14:11:38 -04:00
2015-02-23 10:40:40 -05:00
2014-01-01 22:01:15 -05:00
2017-05-29 19:53:34 +02:00
2016-04-26 15:20:16 +02:00
2014-06-28 14:06:36 -04:00
2017-05-29 19:53:34 +02:00
2018-09-12 15:42:11 +00:00
2017-05-29 19:53:34 +02:00
2017-05-29 19:53:34 +02:00
2017-05-29 19:53:34 +02:00
2018-09-12 15:42:11 +00:00
2017-05-29 19:53:34 +02:00
2014-01-13 16:12:31 -05:00
2017-05-29 19:53:34 +02:00
2017-05-29 19:53:34 +02:00
2018-09-12 15:42:11 +00:00
2017-05-29 19:53:34 +02:00
2018-08-13 17:41:59 +01:00