summaryrefslogtreecommitdiff
path: root/debian/patches/0022-super-ddf-Fix-gcc-8.1-overflow-warnings.patch
blob: 0269abe1bb4d10fc913249ffdcf00b377e662762 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
From 002a5978f015a77ecc48487006b1030f9dbe1394 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <jsorensen@fb.com>
Date: Thu, 31 May 2018 16:07:33 -0400
Subject: [PATCH 22/40] 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>
---
 super-ddf.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/super-ddf.c b/super-ddf.c
index d02a19a2..618542c4 100644
--- a/super-ddf.c
+++ b/super-ddf.c
@@ -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();
-- 
2.17.1