Hi Christian,

Thanks, and sorry for the mistaken report.

I also tested a version that was cloned from the repository some time after 
0.9.71, but obviously it was a while ago (times flies) and I should probably 
have pulled before the test...

Regards,

Niels

Le mardi 1 décembre 2020 à 23:29, Christian Grothoff <groth...@gnunet.org> a 
écrit :

> 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".

Reply via email to