[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libmicrohttpd] branch master updated: memorypool: mute sanitizer errors
From: |
gnunet |
Subject: |
[libmicrohttpd] branch master updated: memorypool: mute sanitizer errors |
Date: |
Wed, 08 Sep 2021 14:29:01 +0200 |
This is an automated email from the git hooks/post-receive script.
karlson2k pushed a commit to branch master
in repository libmicrohttpd.
The following commit(s) were added to refs/heads/master by this push:
new a9a6c02e memorypool: mute sanitizer errors
a9a6c02e is described below
commit a9a6c02e7b5eb6462f8f95ff57823b458951fe01
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
AuthorDate: Wed Sep 8 15:26:09 2021 +0300
memorypool: mute sanitizer errors
Avoid using even temporal pointer values out of allocated area
---
src/microhttpd/memorypool.c | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/src/microhttpd/memorypool.c b/src/microhttpd/memorypool.c
index f6883b08..63181f59 100644
--- a/src/microhttpd/memorypool.c
+++ b/src/microhttpd/memorypool.c
@@ -341,11 +341,15 @@ MHD_pool_reallocate (struct MemoryPool *pool,
mhd_assert (pool->size >= pool->end - pool->pos);
mhd_assert (old != NULL || old_size == 0);
mhd_assert (old == NULL || pool->memory <= (uint8_t*) old);
- mhd_assert (old == NULL || pool->memory + pool->size >= (uint8_t*) old
- + old_size);
+ mhd_assert (pool->size >= old_size);
+ /* (old == NULL || pool->memory + pool->size >= (uint8_t*) old + old_size) */
+ mhd_assert (old == NULL || \
+ (pool->size) >= \
+ (((size_t) (((uint8_t*) old) - pool->memory)) + old_size));
/* Blocks "from the end" must not be reallocated */
+ /* (old == NULL || old_size == 0 || pool->memory + pool->pos > (uint8_t*)
old) */
mhd_assert (old == NULL || old_size == 0 || \
- pool->memory + pool->pos > (uint8_t*) old);
+ pool->pos > (size_t) ((uint8_t*) old - pool->memory));
if (0 != old_size)
{ /* Need to save some data */
@@ -415,10 +419,13 @@ MHD_pool_reset (struct MemoryPool *pool,
mhd_assert (pool->end >= pool->pos);
mhd_assert (pool->size >= pool->end - pool->pos);
mhd_assert (copy_bytes <= new_size);
+ mhd_assert (copy_bytes <= pool->size);
mhd_assert (keep != NULL || copy_bytes == 0);
mhd_assert (keep == NULL || pool->memory <= (uint8_t*) keep);
- mhd_assert (keep == NULL || pool->memory + pool->size >= (uint8_t*) keep
- + copy_bytes);
+ /* (keep == NULL || pool->memory + pool->size >= (uint8_t*) keep +
copy_bytes) */
+ mhd_assert (keep == NULL || \
+ pool->size >= \
+ ((size_t) ((uint8_t*) keep - pool->memory)) + copy_bytes);
if ( (NULL != keep) &&
(keep != pool->memory) )
{
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [libmicrohttpd] branch master updated: memorypool: mute sanitizer errors,
gnunet <=