timezone: pacify GCC -Wstringop-truncation

Problem reported by Martin Sebor in:
https://sourceware.org/ml/libc-alpha/2017-11/msg00336.html
* timezone/zic.c (writezone): Use memcpy, not strncpy.

(cherry picked from commit e69897bf20)
This commit is contained in:
Paul Eggert 2017-11-12 22:00:28 -08:00 committed by Florian Weimer
parent e37ec9c813
commit d161b294e1
2 changed files with 8 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2017-11-12 Paul Eggert <eggert@cs.ucla.edu>
timezone: pacify GCC -Wstringop-truncation
Problem reported by Martin Sebor in:
https://sourceware.org/ml/libc-alpha/2017-11/msg00336.html
* timezone/zic.c (writezone): Use memcpy, not strncpy.
2017-11-15 Martin Sebor <msebor@redhat.com>
* misc/sys/cdefs.h (__attribute_nonstring__): New macro.

View File

@ -1949,7 +1949,7 @@ writezone(const char *const name, const char *const string, char version)
}
#define DO(field) fwrite(tzh.field, sizeof tzh.field, 1, fp)
tzh = tzh0;
strncpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic);
memcpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic);
tzh.tzh_version[0] = version;
convert(thistypecnt, tzh.tzh_ttisgmtcnt);
convert(thistypecnt, tzh.tzh_ttisstdcnt);