https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84953
Bug ID: 84953
Summary: misleading warning from strpbrk(x,"")
Product: gcc
Version: 8.0.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: bernd.edlinger at hotmail dot de
Target Milestone: ---
The following program prints a misleading warning:
$ cat t1.c
#include <string.h>
char* test(char *p)
{
p = strpbrk(p, "");
return p;
}
$ gcc -c t1.c
t1.c: In function ‘test’:
t1.c:4:5: warning: assignment discards ‘const’ qualifier from pointer target
type [-Wdiscarded-qualifiers]
p = strpbrk(p, "");
^
The code _is_ bogus, because strpbrk does not make sense with "" as second
Parameter and strpbrk will always return null.
It is just the warning could be much more helpful if the empty string
constant is diagnosed.
Issue was originally found here: https://github.com/openssl/openssl/pull/5666