[Bug 1708308] Re: libbost 1.58 fails to compare non standard uuid
Giovanni G.
1708308 at bugs.launchpad.net
Wed Aug 2 23:04:02 UTC 2017
Output from test program with boost 1.58 and boost 1.59
Compiled against boost 1_58
a = 00000000-0000-0000-0000-000000000100
b = 00000000-0000-0000-0000-000000000131
a !< b
a !> b
a != b
mappa["00000000-0000-0000-0000-000000000100"] = Riga a
Mappa contains 1 elements
Mappa["00000000-0000-0000-0000-000000000100"] = Riga a
Mappa["00000000-0000-0000-0000-000000000131"] = Riga a (Should raise an exception because we never
assigned it)
Compiled against boost 1_59
a = 00000000-0000-0000-0000-000000000100
b = 00000000-0000-0000-0000-000000000131
a < b
a !> b
a != b
mappa["00000000-0000-0000-0000-000000000100"] = Riga a
Mappa contains 1 elements
Mappa["00000000-0000-0000-0000-000000000100"] = Riga a
Mappa["00000000-0000-0000-0000-000000000131"] = Raised std::out_of_range map::at as it ought to
be
** Description changed:
Description: Ubuntu 16.04.2 LTS
Release: 16.04
The compare operator for uuid is broken for non standard (always return
false). This for example breaks using uuid as keys in std::map which
uses less than comparator.
The example program generates 2 non standard uuid then compares them
with < > and ==. All three returns false
Then it creates a std::map<uuid,string>
Insert a string in the map using the first uuid as key, then try to access the second key value with .at
It should raise an exceptio instead it returns the value from the first key
- This bug has been fixed in boost 1.60
+ This bug has been fixed in boost 1.59
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to boost1.58 in Ubuntu.
https://bugs.launchpad.net/bugs/1708308
Title:
libbost 1.58 fails to compare non standard uuid
Status in boost1.58 package in Ubuntu:
New
Bug description:
Description: Ubuntu 16.04.2 LTS
Release: 16.04
The compare operator for uuid is broken for non standard (always
return false). This for example breaks using uuid as keys in std::map
which uses less than comparator.
The example program generates 2 non standard uuid then compares them
with < > and ==. All three returns false
Then it creates a std::map<uuid,string>
Insert a string in the map using the first uuid as key, then try to access the second key value with .at
It should raise an exceptio instead it returns the value from the first key
This bug has been fixed in boost 1.59
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/boost1.58/+bug/1708308/+subscriptions
More information about the foundations-bugs
mailing list