[Lcdproc] [PATCH] Missing NULL malloc() check in server/menuitem.c

Markus Dolze bsdfan at nurfuerspam.de
Sat Jun 6 15:40:20 UTC 2009


Markus Dolze wrote:
> Andre Guibert de Bruet wrote:
>>
>> I have addressed a bunch of malloc-related issues this source file in
>> the attached patch (Against HEAD). I have a list of additional issues
>> with menuitem.c which I will address at a later date.
>>
>> Could the attached patch be committed upon review?
>>
>
> Hi,
>
>
> I had a look at your patch and the menu* part. It is perhaps one of
> the most complex part of LCDproc.
>
> Tracing from menuitem_create to all more specific menuitem_create_*()
> functions and the calling functions I was puzzled by the result
> handling and rewrote parts of it. Patch is attached.
>
> Some remarks:
>
> 1. All calls to malloc are checked for NULL now (based on
> Andre's          patch).
> 2. All calls to strdup are checked as well, because subsequent calls to
>    strlen(NULL) will result in core dump.
> 3. It is not necessary to free allocated memory and duplicates string in
>    menuitem_create_*() IF menuitem_destroy() is called (the latter frees
>    all allocated strings). However, I am not sure if I need to
>    initialize all pointer to NULL before.
> 4. All calls to menu_create() are checked for NULL, exiting the current
>    function in most cases.
> 5. I moved the creation of the test menu into its own function (as a
>    result of 3).

I committed all ot these to cvs HEAD.

Merge to: stable-0-5-x: pending
Merge to: lcdproc-0-5-3: pending

Regards,
Markus


More information about the LCDproc mailing list