lwip-devel
[Top][All Lists]
Advanced

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

[lwip-devel] [bug #37148] memory pool content is being corrupted after m


From: Simon Goldschmidt
Subject: [lwip-devel] [bug #37148] memory pool content is being corrupted after memp_free()
Date: Thu, 23 Aug 2012 06:02:44 +0000
User-agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.83 Safari/537.1

Follow-up Comment #3, bug #37148 (project lwip):

> See, 'mem' argument points to memory which holds initialized data.

Yes, it's now clear that this is your actual problem, and I don't think anyone
has tried to do that before or there would have been bug reports already.


> But somebody (likely other person)

I think that was me (some years ago).

> forget about memp_free() and defined MEMP_SIZE value as zero.

That was not an error but an intentional decision to save memory and reuse the
data part to keep the linked list pointers - this works because the data part
is only used when allocated and the linked list pointer is only used when
deallocated.

> Moreover, it will corrupt neighbour memory contents on platforms 
> where pointer size exceeds minimum size allowed for lwip pool 
> element.

I think this can only happen when MEM_ALIGNMENT is not defined correctly. You
might be correct though that this wouldn't work on a platform where you don't
want/need memory alginment but pointers are big. However, this is a rather
theoretical issue, given the fact that lwIP does not have pool items that
small...

> What do you recommend to solve this problem gracefully ?

I can't recommend anything right now to solve this *gracefully* besides adding
another config option to support something that lwIP has not yet been designed
to do.

    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/bugs/?37148>

_______________________________________________
  Nachricht gesendet von/durch Savannah
  http://savannah.nongnu.org/




reply via email to

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