summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSnappy Team <no-reply@google.com>2020-11-14 21:55:24 +0000
committerVictor Costan <costan@google.com>2020-11-18 23:21:47 +0000
commit719bed0ae21071963ab6e8cc09c51e88212cbcb0 (patch)
treed94cf865f152cd91927b83a9e371ad54e498ab23
parent289c8a3c0a06451316da8d5e74daeb972ec69c4d (diff)
downloadsnappy-git-719bed0ae21071963ab6e8cc09c51e88212cbcb0.tar.gz
Bug fix. Error on 0 offset copies.
PiperOrigin-RevId: 342447553
-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;