[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