This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

free() and implicit conversion to a function pointer (was: Use of initialized variable in strtod.c)


> But this in __call_atexit.c is definitely correct. It is
> treating free() as a weak symbol and the only way to
> silence Coverity is to add an annotation.
>
> 136      /* Don't dynamically free the atexit array if free is not
> 137         available.  */
>
> CID 175323 (#1 of 1): Function address comparison (BAD_COMPARE)
> func_conv: This implicit conversion to a function pointer is suspicious:
> free.
>         Did you intend to call free?
> 138      if (!free)
> 139        break;

Well, I have not encountered that one (yet). Since Coverity is
complaining about an implicit conversion, maybe the following will
help to avoid the implicit part (and sidestep the finding):

    if (free != NULL)
        break;

Or perhaps:

    if ((void*)free != NULL)
        break;

If that works to clear the finding, then it is one of those items I
write-off as "working and playing well with the tools".

Jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]