Hi Niels,

I can confirm the issue, alas it was already fixed in Git master (by
Evgeny) in October. We should indeed make a new release...

(Note: the assertion was basically wrong, so when compiling without
assertions means that there is no harm from the issue.)

Happy hacking!

Christian

On 12/1/20 2:24 PM, Niels Martignène via libmicrohttpd wrote:
> I have managed to get the following assertion failure when sending a simple 
> "GET /" request with netcat to a debug build (libmicrohttpd 0.9.71).
> 
>     minimal_example: memorypool.c:324: MHD_pool_reallocate: Assertion `old == 
> ((void *)0) || pool->memory + pool->pos > (uint8_t*) old' failed.
> 
> I can reproduce this error with the minimal_example.c example. First, build 
> and start the server with:
> 
>     ./configure --enable-asserts
>     make
>     src/examples/minimal_example 8888
> 
> And then, in a separate terminal, run this:
> 
>     echo -e "GET /\r\n\r\n" | nc 127.0.0.1 8888
> 
> This should trigger the assert and crash the server. The crash does not 
> happen with "GET / HTTP/1.0".
> 

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to