diff options
| author | Mikhail Romanko <me@blankhex.com> | 2025-08-04 20:30:30 +0300 |
|---|---|---|
| committer | Mikhail Romanko <me@blankhex.com> | 2025-08-04 20:30:30 +0300 |
| commit | deb4ec00f4e8053bab8235e1137eb7e499904db1 (patch) | |
| tree | 8c7c4bbd78a366a87362423615cb1d1c786e1504 /src/Queue.c | |
| parent | 0da77c00d652c13a99961d845a0a593dc54f1e49 (diff) | |
| download | bhlib-deb4ec00f4e8053bab8235e1137eb7e499904db1.tar.gz | |
Add macro functions for checking unsigned wraps
Diffstat (limited to 'src/Queue.c')
| -rw-r--r-- | src/Queue.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/Queue.c b/src/Queue.c index 4b9d06e..746e8bf 100644 --- a/src/Queue.c +++ b/src/Queue.c @@ -27,7 +27,7 @@ static void BH_QueueDestroy(BH_Queue *queue) static void BH_QueueCopy(BH_Queue *dest, - BH_Queue *src) + BH_Queue *src) { void *iter; @@ -69,7 +69,7 @@ void BH_QueueClear(BH_Queue *queue) int BH_QueueReserve(BH_Queue *queue, - size_t size) + size_t size) { BH_Queue other; @@ -78,7 +78,7 @@ int BH_QueueReserve(BH_Queue *queue, size = queue->size; /* Catch malloc overflow */ - if (size >= ((size_t)-1) / sizeof(void *)) + if (BH_CHECK_UMUL_WRAP(size, sizeof(void *), size_t)) return BH_OOM; /* Prevent same size memory reallocation */ @@ -110,7 +110,7 @@ int BH_QueueReserve(BH_Queue *queue, int BH_QueueInsert(BH_Queue *queue, - void *value) + void *value) { /* Check if queue can contain new element */ if (queue->size + 1 > queue->capacity) @@ -177,7 +177,7 @@ size_t BH_QueueCapacity(BH_Queue *queue) void *BH_QueueIterNext(BH_Queue *queue, - void *iter) + void *iter) { void **element = (void **)iter; |
