From: Zbigniew Jędrzejewski-Szmek Date: Mon, 5 Feb 2018 10:07:40 +0000 (+0100) Subject: nss-systemd: add work-around to silence gcc warning X-Git-Tag: v238~141^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3c3d384ae93700ef08545b078c37065fdb98eee7;p=thirdparty%2Fsystemd.git nss-systemd: add work-around to silence gcc warning In file included from ../src/basic/fs-util.h:32, from ../src/nss-systemd/nss-systemd.c:28: ../src/nss-systemd/nss-systemd.c: In function '_nss_systemd_getgrnam_r': ../src/nss-systemd/nss-systemd.c:416:32: warning: argument to 'sizeof' in 'memset' call is the same pointer type 'char *' as the destination; expected 'char' or an explicit length [-Wsizeof-pointer-memaccess] memzero(buffer, sizeof(char*)); ^~~~ ../src/basic/util.h:118:39: note: in definition of macro 'memzero' #define memzero(x,l) (memset((x), 0, (l))) ^ gcc is trying to be helpful, and it's not far from being right. It _looks_ like sizeof(char*) is an error, but in this case we're really leaving a space empty for a pointer, and our calculation is correct. Since this is a short file, let's just use simplest option and turn off the warning above the two functions that trigger it. --- diff --git a/src/nss-systemd/nss-systemd.c b/src/nss-systemd/nss-systemd.c index f75405d2e55..c502b5f5fd0 100644 --- a/src/nss-systemd/nss-systemd.c +++ b/src/nss-systemd/nss-systemd.c @@ -328,6 +328,8 @@ fail: return NSS_STATUS_UNAVAIL; } +#pragma GCC diagnostic ignored "-Wsizeof-pointer-memaccess" + enum nss_status _nss_systemd_getgrnam_r( const char *name, struct group *gr,