Re: string.h: Mark 34 functions with __must_check

From: Markus Elfring
Date: Wed Oct 09 2019 - 12:43:25 EST


> You're also not consistent - strlen() is not annotated.

Would you like to integrate any additional function annotations?


> And, for the standard C functions, -Wall already seems to warn about
> an unused call:

This detail is nice, isn't it?


> a.c:5:2: warning: statement with no effect [-Wunused-value]
> strlen(s);

Are there any differences to consider for the Linux function variant?


> The problem is the __must_check does not mean that the
> return value must be followed by a comparison to NULL and bailing out
> (that can't really be checked), it simply ensures the return value is
> assigned somewhere or used in an if(). So foo->bar = kstrdup() not
> followed by a check of foo->bar won't warn. So one would essentially
> only catch instant-leaks.

How do you think about to improve the source code analysis support
any further?

Regards,
Markus