From 1ce58af28e46872d003f3a38213815595f387a39 Mon Sep 17 00:00:00 2001 From: Snappy Team Date: Mon, 2 Nov 2020 17:46:36 +0000 Subject: [PATCH] Fix the use of op + len when op is nullptr and len is non-zero. See https://reviews.llvm.org/D67122 for some discussion of why this can matter. I don't think this should have any noticeable effect on performance. PiperOrigin-RevId: 340255083 --- snappy.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/snappy.cc b/snappy.cc index 605e0f5..29e1e8e 100644 --- a/snappy.cc +++ b/snappy.cc @@ -1569,15 +1569,14 @@ class SnappyScatteredWriter { static_cast(op - op_base_) < offset || op >= op_limit_min_slop_ || offset < len)) { if (offset == 0) return false; - char* const op_end = op + len; if (SNAPPY_PREDICT_FALSE(static_cast(op - op_base_) < offset || - op_end > op_limit_)) { + op + len > op_limit_)) { op_ptr_ = op; bool res = SlowAppendFromSelf(offset, len); *op_p = op_ptr_; return res; } - *op_p = IncrementalCopy(op - offset, op, op_end, op_limit_); + *op_p = IncrementalCopy(op - offset, op, op + len, op_limit_); return true; } // Fast path