super-ddf: Fix gcc-8.1 overflow warnings

Cast to types that are big enough to hold the values, but also guarantee
no overflow of the buffer keepts gcc happy.

Signed-off-by: Jes Sorensen <jsorensen@fb.com>
This commit is contained in:
Jes Sorensen 2018-05-31 16:07:33 -04:00
parent 4d061b02b6
commit 002a5978f0
1 changed files with 3 additions and 2 deletions

View File

@ -2881,8 +2881,9 @@ static int add_to_super_ddf(struct supertype *st,
dd->disk.magic = DDF_PHYS_DATA_MAGIC;
now = time(0);
tm = localtime(&now);
sprintf(dd->disk.guid, "%8s%04d%02d%02d",
T10, tm->tm_year+1900, tm->tm_mon+1, tm->tm_mday);
sprintf(dd->disk.guid, "%8s%04d%02d%02d", T10,
(__u16)tm->tm_year+1900,
(__u8)tm->tm_mon+1, (__u8)tm->tm_mday);
tptr = (__u32 *)(dd->disk.guid + 16);
*tptr++ = random32();
*tptr = random32();