From 4cc6b1d4f304cb4d09f3b8dc150c645168ec13ad Mon Sep 17 00:00:00 2001 From: Lukasz Nocun Date: Wed, 30 Jun 2021 18:00:13 +0200 Subject: [PATCH] Fix possible UB when accessing empty vector's data --- src/lstm/networkscratch.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lstm/networkscratch.h b/src/lstm/networkscratch.h index f367374707..1637727706 100644 --- a/src/lstm/networkscratch.h +++ b/src/lstm/networkscratch.h @@ -148,7 +148,8 @@ class NetworkScratch { vec_ = scratch_space_->vec_stack_.Borrow(); vec_->reserve(reserve); vec_->resize(size); - data_ = &(*vec_)[0]; + // use vector.at(0) to make sure we do not trigger UB on an empty vector + data_ = &vec_->at(0); } void Init(int size, NetworkScratch *scratch) {