Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 16 Apr 2013 18:33:10 -0500
From: "jfoug" <jfoug@....net>
To: <john-dev@...ts.openwall.com>
Subject: RE: Segfaults probably caused by DEBUG code in memory.c

I just tested unstable, and MEM_ALLOC_SIZE==0 worked fine.

It is due to that if statement, always taking the else condition. Thus the
buffer is never built, it stays null, and mem_alloc_tiny always allocates a
new buffer (properly aligned).

This is one of the reasons WHY functions like mem_alloc_tiny should not be
modified, without being very very careful. Even though this function is not
large, it is very tricky.  As I mentioned earlier, that evil realloc
function comes to mind.

It is surprising that there is that much difference between unstable and
bleeding.  I find bleeding to be much easier to read.  Hell, there are not
even a pointer in unstable!  How could that function even perform allocation
;)

I would rather not have dyna use that define, but it certainly hurts
nothing.

Jim.

From: magnum Sent: Tuesday, April 16, 2013 18:27
>
>Blimey, you are right. I'll try this again, and test it well this time (in
each branch) before committing :-)
>
>But I'll keep it in memory.c only, like you suggested first. No need to
alter dynamic.

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.