This is an automated email from the ASF dual-hosted git repository. jensg pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/thrift.git
The following commit(s) were added to refs/heads/master by this push: new 62f1bd5 THRIFT-5355 Do not rely on compiler and check boundaries Client: cpp Patch: Triton <19377203+enigmatri...@users.noreply.github.com> 62f1bd5 is described below commit 62f1bd556110e3e3795a1145c876a33d9dca2d37 Author: Triton <19377203+enigmatri...@users.noreply.github.com> AuthorDate: Sat Jan 9 20:29:12 2021 +0100 THRIFT-5355 Do not rely on compiler and check boundaries Client: cpp Patch: Triton <19377203+enigmatri...@users.noreply.github.com> This closes #2305 --- lib/cpp/src/thrift/async/TConcurrentClientSyncInfo.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/cpp/src/thrift/async/TConcurrentClientSyncInfo.cpp b/lib/cpp/src/thrift/async/TConcurrentClientSyncInfo.cpp index 0dac524..7f1b1cc 100644 --- a/lib/cpp/src/thrift/async/TConcurrentClientSyncInfo.cpp +++ b/lib/cpp/src/thrift/async/TConcurrentClientSyncInfo.cpp @@ -184,7 +184,11 @@ int32_t TConcurrentClientSyncInfo::generateSeqId() throw apache::thrift::TApplicationException( TApplicationException::BAD_SEQUENCE_ID, "about to repeat a seqid"); - int32_t newSeqId = nextseqid_++; + int32_t newSeqId = nextseqid_; + if (nextseqid_ == (std::numeric_limits<int32_t>::max)()) + nextseqid_ = (std::numeric_limits<int32_t>::min)(); + else + ++nextseqid_; seqidToMonitorMap_[newSeqId] = newMonitor_(seqidGuard); return newSeqId; }