[Base] Fix Semaphore::Create invalid parameters
This commit is contained in:
@@ -975,6 +975,10 @@ class PosixSemaphore : public PosixConditionHandle<Semaphore> {
|
|||||||
|
|
||||||
std::unique_ptr<Semaphore> Semaphore::Create(int initial_count,
|
std::unique_ptr<Semaphore> Semaphore::Create(int initial_count,
|
||||||
int maximum_count) {
|
int maximum_count) {
|
||||||
|
if (initial_count < 0 || initial_count > maximum_count ||
|
||||||
|
maximum_count <= 0) {
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
return std::make_unique<PosixSemaphore>(initial_count, maximum_count);
|
return std::make_unique<PosixSemaphore>(initial_count, maximum_count);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user