libc/stdlib/mallocr.c (unlink)
Earnie Boyd
earnie_boyd@yahoo.com
Wed Feb 19 22:51:00 GMT 2003
What do you mean by ``circular''? If the pointer value is capable of
being zero it will SIGSEGV, on some systems, if referenced.
Earnie.
J. Johnston wrote:
> Actually, you are entirely correct. I had forgotten that "both" the chunk
> and bin lists were circular. The change will be reverted.
>
> Earnie, you are going to have to do some more investigating.
>
> -- Jeff J.
>
> Christopher Faylor wrote:
>
>> On Tue, Feb 18, 2003 at 05:35:14PM -0500, J. Johnston wrote:
>>
>>> Patch checked in, thanks.
>>
>>
>>
>> Isn't this a "why is the pointer NULL?" type of situation? It seems like
>> checking for null is papering over a possible problem.
>>
>> cgf
>>
>>
>>>> ------------------------------------------------------------------------
>>>>
>>>>
>>>> 2003.02.18 Earnie Boyd <earnie@users.sf.net>
>>>>
>>>> * libc/stdlib/mallocr.c (unlink): Don't assign a value to a pointer
>>>> with a NULL value.
>>>>
>>>> Index: mallocr.c
>>>> ===================================================================
>>>> RCS file: /cvs/src/src/newlib/libc/stdlib/mallocr.c,v
>>>> retrieving revision 1.9
>>>> diff -u -3 -p -r1.9 mallocr.c
>>>> --- mallocr.c 11 Oct 2002 10:28:30 -0000 1.9
>>>> +++ mallocr.c 18 Feb 2003 21:40:05 -0000
>>>> @@ -1936,8 +1936,8 @@ static void do_check_malloced_chunk(p, s
>>>> {
>>>> \
>>>> BK =
>>>> P->bk; \
>>>> FD =
>>>> P->fd; \
>>>> - FD->bk =
>>>> BK; \
>>>> - BK->fd =
>>>> FD; \
>>>> + if (FD) FD->bk =
>>>> BK; \
>>>> + if (BK) BK->fd =
>>>> FD; \
>>>> }
>>>> \
>>>>
>>>> /* Place p as the last remainder */
>>>
>>>
>
>
More information about the Newlib
mailing list