|
Message-ID: <20170528014613.GB1627@brightrain.aerifal.cx> Date: Sat, 27 May 2017 21:46:13 -0400 From: Rich Felker <dalias@...c.org> To: musl@...ts.openwall.com Subject: Re: [PATCH] fix a invalid conversion from 'void*' to 'char*' On Sat, May 13, 2017 at 11:42:01AM +0200, liu.ming50@...il.com wrote: > From: Ming Liu <peter.x.liu@...ernal.atlascopco.com> > > A compiling warning is observed with gcc -Wconversion option, fixed > by casting 'void*' to 'char*'. > > Signed-off-by: Ming Liu <peter.x.liu@...ernal.atlascopco.com> > --- > include/string.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/string.h b/include/string.h > index ff9badb..b6b2d82 100644 > --- a/include/string.h > +++ b/include/string.h > @@ -85,7 +85,7 @@ size_t strlcpy (char *, const char *, size_t); > #endif > > #ifdef _GNU_SOURCE > -#define strdupa(x) strcpy(alloca(strlen(x)+1),x) > +#define strdupa(x) strcpy((char*)alloca(strlen(x)+1),x) > int strverscmp (const char *, const char *); > int strcasecmp_l (const char *, const char *, locale_t); > int strncasecmp_l (const char *, const char *, size_t, locale_t); > -- > 2.7.4 Apologies for not replying sooner; I've been behind on everything. Generally it's the intent of GCC not to produce warnings for code in or expanded from system headers. If you're getting warnings like this, check that you don't have an installation problem (or maybe explicit -I of system header path) that confuses GCC and makes it think these are not system headers. Casting the return value of allocation functions is generally Considered Harmful in C, and not something you want to be doing, but perhaps the problems is arising when this macro is used in C++ code? Can you be more specific about how you encountered it? If it really is invalid as C++ perhaps something should be changed since the header is intended to be usable as C++. Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.