summaryrefslogtreecommitdiff
path: root/dev-embedded/sunxi-tools/files/sunxi-tools-1.4.1-fix-strncpy-compiler-warning.patch
blob: a255e61f3f01c64a39eb06e9e87ce781123fce1b (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
33
34
35
36
37
38
39
40
41
42
From 0825d9aaa6078ef283390662004797a9a1d939f3 Mon Sep 17 00:00:00 2001
From: Andre Przywara <andre.przywara@arm.com>
Date: Wed, 15 Dec 2021 23:04:14 +0000
Subject: [PATCH 1/2] nandpart: fix strncpy compiler warning

More recent versions of GCC warns about the usage of strncpy in
nandpart.c: we actually only (need to) copy the stub string part of the
magic string, without the terminating NUL character. This is fine in
our particular case, but raises the compiler's eyebrows:
===================
nand-part.c: In function '_get_mbr':
nand-part.c:93:4: warning: 'strncpy' output truncated before terminating
                  nul copying 8 bytes from a string of the same length
                  [-Wstringop-truncation]
   93 |    strncpy((char *)mbr->magic, MBR_MAGIC, 8);
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
===================

Switch to the more fitting memcpy() here to avoid the warning.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reported-by: slange-dev
---
 nand-part.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/nand-part.c b/nand-part.c
index a0d46c5..af2169d 100644
--- a/nand-part.c
+++ b/nand-part.c
@@ -90,7 +90,7 @@ static MBR *_get_mbr(int fd, int mbr_num, int force)
 		printf("check partition table copy %d: ", mbr_num);
 		printmbrheader(mbr);
 		if (force) {
-			strncpy((char *)mbr->magic, MBR_MAGIC, 8);
+			memcpy(mbr->magic, MBR_MAGIC, 8);
 			mbr->version = MBR_VERSION;
 			return mbr;
 		}
-- 
2.32.0