summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--snappy.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/snappy.cc b/snappy.cc
index 7c75d21..e972c18 100644
--- a/snappy.cc
+++ b/snappy.cc
@@ -892,6 +892,8 @@ std::pair<const uint8_t*, char*> DecompressBranchless(
// always succeed for literals.
if (SNAPPY_PREDICT_FALSE(offset < len)) {
assert(tag_type != 0);
+ // offset 0 is an error.
+ if (SNAPPY_PREDICT_FALSE(offset == 0)) break;
op = IncrementalCopy(op_base + delta, op_base + op, op_base + op + len,
op_base + op_limit) -
op_base;