librpc/ndr/uuid.c: improve speed and accuracy of GUID string parsing
commit91d5ea2ae90140cad0fa8021f07dad3f3d7b7734
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Tue, 6 Dec 2016 22:54:41 +0000 (7 11:54 +1300)
committerDouglas Bagnall <dbagnall@samba.org>
Wed, 14 Dec 2016 07:55:42 +0000 (14 08:55 +0100)
tree52308b19e14228fa2fbf2376ea1fe78f3bb16407
parent6c9a185be260a914bc0bd2dcf76c9dcb9664a687
librpc/ndr/uuid.c: improve speed and accuracy of GUID string parsing

GUID_from_data_blob() was relying on sscanf to parse strings, which was
slow and quite accepting of invalid GUIDs. Instead we directly read a
fixed number of hex bytes for each field.

This now passes the samba4.local.ndr.*.guid_from_string_invalid tests.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Douglas Bagnall <dbagnall@samba.org>
Autobuild-Date(master): Wed Dec 14 08:55:42 CET 2016 on sn-devel-144
librpc/ndr/uuid.c
selftest/knownfail