summaryrefslogtreecommitdiffstats
path: root/vespajlib/src/main/java/com/yahoo/slime/Slime.java
diff options
context:
space:
mode:
authorHåvard Pettersen <havardpe@yahooinc.com>2023-03-22 14:04:17 +0000
committerHåvard Pettersen <havardpe@yahooinc.com>2023-03-28 15:10:13 +0000
commitff93a0645424847199c9696863a3fbd4bc8aa394 (patch)
tree4392b23f4b835d239c9f1973d5ff7e8e420f87e1 /vespajlib/src/main/java/com/yahoo/slime/Slime.java
parent3ec23c024c62ab2e073343660ca8e349c4001372 (diff)
BinaryView; inspect slime value in binary format
Use int instead of long for stand-alone compressed values (sizes and symbol ids). Also added overflow/wrap-around checks for these values to avoid things like infinite recursion due to negative buffer skips during DecodeIndex creation. This makes decoding fail in more deterministic ways and also aligns with Java using int for sizes.
Diffstat (limited to 'vespajlib/src/main/java/com/yahoo/slime/Slime.java')
-rw-r--r--vespajlib/src/main/java/com/yahoo/slime/Slime.java2
1 files changed, 2 insertions, 0 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/slime/Slime.java b/vespajlib/src/main/java/com/yahoo/slime/Slime.java
index eba9226c8ef..7d29131cbdb 100644
--- a/vespajlib/src/main/java/com/yahoo/slime/Slime.java
+++ b/vespajlib/src/main/java/com/yahoo/slime/Slime.java
@@ -13,6 +13,8 @@ public final class Slime {
private final SymbolTable names = new SymbolTable();
private Value root = NixValue.instance();
+ SymbolTable symbolTable() { return names; }
+
/**
* Construct an empty Slime with an empty top-level value.
*/