[Top][All Lists]

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

Re: [lwip-users] HTTPD p->payload PBUF not being cleared

From: rcbuck
Subject: Re: [lwip-users] HTTPD p->payload PBUF not being cleared
Date: Fri, 03 Jul 2020 22:39:51 -0700
User-agent: Workspace Webmail 6.11.8

 I had the pbuf_free(p)  function call at the end of the "httpd_post_receive_data" function. As you say, that was probably releasing the buffer. I found that in order to clear the p->payload buffer I had to add this code:
    for(x=0; x<p->tot_len; x++)
        strcpy(&tmpval[x], "0");
    strcpy((char *)p, tmpval);
    return ERR_OK;
Since p is a pointer to void, I had to cast it to a char so I could fill it with null characters.
The tmpval variable is declared as "char tmpval[48]".
Now each time I send a POST to the application, p->payload contains the data I send with no stragglers left from the previous post.

-------- Original Message --------
Subject: Re: [lwip-users] HTTPD p->payload PBUF not being cleared
From: Mário_Luzeiro <mrluzeiro@ua.pt>
Date: Fri, July 03, 2020 1:37 pm
To: Mailing list for lwIP users <lwip-users@nongnu.org>

Hi Ray,

Thanks to your email I believe I fixed the bug in my project!
I just added the pbuf_free as mention in

From what it is on the documentation:
"ATTENTION: The application is responsible for freeing the pbufs passed in!"
I think it meant to not be fixed.

On the post you mention, what I think Simon refers is that an example in the sourcecode is missing that free, not the library itself.

On relation to your payload, I'm not sure about it.
"data clear" is not the same as "memory free'ed" it can be free but it is not zeroing it.
Unless what you describe is something else?


From: lwip-users <lwip-users-bounces+mrluzeiro=ua.pt@nongnu.org> on behalf of rcbuck@atcelectronics.com <rcbuck@atcelectronics.com>
Sent: 03 July 2020 20:35
To: lwip-users@nongnu.org
Subject: [lwip-users] HTTPD p->payload PBUF not being cleared

I have an httpd application running and am using POST to send data to the server. Calling pbuf_free(p) does not clear the p->payload buffer. I searched the list and found this post:

Has this bug been corrected? If not, is there a manual work around to clear the payload buffer?

I am running LwIP on a STM32F407 processor board. I am not using a RTOS. If I perform a post and send as an example, abcdefgh23, the data is received correctly. If I then send again as an example, wzxcvbnm, p->payload contains wzxcvbnm23.

I am running LwIP Version 2.1.2.

Thank you.


lwip-users mailing list

reply via email to

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