get_decoded_udev_property: Fix sscanf use

sscanf man page says about %x:
'x      Matches an unsigned hexadecimal integer; the next pointer must be a
pointer to unsigned int'
get_decoded_udev_property() is using %02x, but this is not documented as
reducing the size of the expected pointer, it's only documented as causing
sscanf to read at most 2 digits of the parsed number.

Boxes was passing an uint8 to scanf instead of an uint, causing memory
corruption (plus a 'fortify: stack smashing detected' message if this is
enabled when building), and eventually a crash in get_decoded_udev_property().