From ed57b9c663db89370055c5196e7e0b537647e9ef Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Thu, 12 Jul 2007 22:18:05 +0000 Subject: 2007-07-12 Havoc Pennington * dbus/dbus-sysdeps-util.c (_dbus_sysdeps_test): invert the test for parsing hex as double to be sure it fails to work * dbus/dbus-sysdeps.c (_dbus_string_parse_double): don't allow hex numbers. --- dbus/dbus-sysdeps.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'dbus/dbus-sysdeps.c') diff --git a/dbus/dbus-sysdeps.c b/dbus/dbus-sysdeps.c index c310b281..cd3e20e7 100644 --- a/dbus/dbus-sysdeps.c +++ b/dbus/dbus-sysdeps.c @@ -750,6 +750,12 @@ _dbus_string_parse_double (const DBusString *str, p = _dbus_string_get_const_data_len (str, start, _dbus_string_get_length (str) - start); + /* parsing hex works on linux but isn't portable, so intercept it + * here to get uniform behavior. + */ + if (p[0] == '0' && (p[1] == 'x' || p[1] == 'X')) + return FALSE; + end = NULL; errno = 0; v = ascii_strtod (p, &end); -- cgit