Skip to content

Commit 50ef8b8

Browse files
Throw if map keys are not java.lang.String.
1 parent 59f6633 commit 50ef8b8

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

objectbox-java/src/main/java/io/objectbox/converter/FlexObjectConverter.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,12 +89,15 @@ private void addMap(FlexBuffersBuilder builder, String mapKey, Map<Object, Objec
8989
int mapStart = builder.startMap();
9090

9191
for (Map.Entry<Object, Object> entry : map.entrySet()) {
92+
Object rawKey = entry.getKey();
9293
Object value = entry.getValue();
93-
if (entry.getKey() == null || value == null) {
94+
if (rawKey == null || value == null) {
9495
throw new IllegalArgumentException("Map keys or values must not be null");
9596
}
96-
97-
String key = entry.getKey().toString();
97+
if (!(rawKey instanceof String)) {
98+
throw new IllegalArgumentException("Map keys must be String");
99+
}
100+
String key = rawKey.toString();
98101
if (value instanceof Map) {
99102
//noinspection unchecked
100103
addMap(builder, key, (Map<Object, Object>) value);

0 commit comments

Comments
 (0)