libmicrohttpd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [libmicrohttpd] Assertion failure with raw "GET /" request


From: Christian Grothoff
Subject: Re: [libmicrohttpd] Assertion failure with raw "GET /" request
Date: Wed, 2 Dec 2020 00:02:53 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0

I don't think the report was 'mistaken', it was quite accurate and
against the latest release. So no problme ;-).

-Christian

On 12/1/20 11:55 PM, Niels Martignène via libmicrohttpd wrote:
> 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 <grothoff@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

[Prev in Thread] Current Thread [Next in Thread]