diff --git a/briar-core/src/org/briarproject/db/JdbcDatabase.java b/briar-core/src/org/briarproject/db/JdbcDatabase.java index 72c35f358..3178847e7 100644 --- a/briar-core/src/org/briarproject/db/JdbcDatabase.java +++ b/briar-core/src/org/briarproject/db/JdbcDatabase.java @@ -1205,8 +1205,10 @@ abstract class JdbcDatabase implements Database { ps = txn.prepareStatement(sql); rs = ps.executeQuery(); List groups = new ArrayList(); + Set ids = new HashSet(); while(rs.next()) { GroupId id = new GroupId(rs.getBytes(1)); + if(!ids.add(id)) throw new DbStateException(); String name = rs.getString(2); byte[] salt = rs.getBytes(3); Group group = new Group(id, name, salt); @@ -1226,6 +1228,7 @@ abstract class JdbcDatabase implements Database { rs = ps.executeQuery(); while(rs.next()) { GroupId id = new GroupId(rs.getBytes(1)); + if(!ids.add(id)) throw new DbStateException(); String name = rs.getString(2); byte[] salt = rs.getBytes(3); Group group = new Group(id, name, salt); @@ -2246,10 +2249,12 @@ abstract class JdbcDatabase implements Database { ps.setLong(2, now); rs = ps.executeQuery(); List groups = new ArrayList(); + Set ids = new HashSet(); long version = 0; int txCount = 0; while(rs.next()) { GroupId id = new GroupId(rs.getBytes(1)); + if(!ids.add(id)) throw new DbStateException(); String name = rs.getString(2); byte[] salt = rs.getBytes(3); groups.add(new Group(id, name, salt));