diff --git a/src/id_worker.cpp b/src/id_worker.cpp index f9ea08a..85db722 100644 --- a/src/id_worker.cpp +++ b/src/id_worker.cpp @@ -161,6 +161,9 @@ uint64_t IdWorker::GetMaxId(uint64_t startId) const while ((flag & startId) == 0) { flag = flag << 1; } + if (startId + flag < 1) { + return 0; + } return (startId + flag - 1) > 0 ? (startId + flag - 1) : 0; } }