libboost 1.58 fails to compare non standard uuid

Bug #1708308 reported by Giovanni G.
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
boost1.58 (Ubuntu)
New
Undecided
Unassigned

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

Tags: xenial
Revision history for this message
Giovanni G. (giovanni-g) wrote :
Revision history for this message
Giovanni G. (giovanni-g) wrote :

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: updated
Giovanni G. (giovanni-g)
summary: - libbost 1.58 fails to compare non standard uuid
+ libboost 1.58 fails to compare non standard uuid
tags: added: xenial
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.