Browse Source

s390: fix gcc 8 stringop-truncation warnings in proc handlers

arch/s390/kernel/topology.c:591:3: warning: 'strncpy' output truncated
before terminating nul copying 2 bytes from a string of the same length
[-Wstringop-truncation]
   strncpy(buf, topology_is_enabled() ? "1\n" : "0\n", ARRAY_SIZE(buf));

arch/s390/appldata/appldata_base.c:326:3: warning: 'strncpy' output truncated
before terminating nul copying 2 bytes from a string of the same length
[-Wstringop-truncation]
   strncpy(buf, ops->active ? "1\n" : "0\n", ARRAY_SIZE(buf));

arch/s390/appldata/appldata_base.c:217:3: warning: 'strncpy' output truncated
before terminating nul copying 2 bytes from a string of the same length
[-Wstringop-truncation]
   strncpy(buf, appldata_timer_active ? "1\n" : "0\n", ARRAY_SIZE(buf));

To avoid the warning, just reuse memcpy.

Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Vasily Gorbik 7 years ago
parent
commit
f6ea4d25e9
2 changed files with 3 additions and 5 deletions
  1. 2 3
      arch/s390/appldata/appldata_base.c
  2. 1 2
      arch/s390/kernel/topology.c

+ 2 - 3
arch/s390/appldata/appldata_base.c

@@ -214,8 +214,7 @@ appldata_timer_handler(struct ctl_table *ctl, int write,
 		return 0;
 	}
 	if (!write) {
-		strncpy(buf, appldata_timer_active ? "1\n" : "0\n",
-			ARRAY_SIZE(buf));
+		memcpy(buf, appldata_timer_active ? "1\n" : "0\n", ARRAY_SIZE(buf));
 		len = strnlen(buf, ARRAY_SIZE(buf));
 		if (len > *lenp)
 			len = *lenp;
@@ -323,7 +322,7 @@ appldata_generic_handler(struct ctl_table *ctl, int write,
 		return 0;
 	}
 	if (!write) {
-		strncpy(buf, ops->active ? "1\n" : "0\n", ARRAY_SIZE(buf));
+		memcpy(buf, ops->active ? "1\n" : "0\n", ARRAY_SIZE(buf));
 		len = strnlen(buf, ARRAY_SIZE(buf));
 		if (len > *lenp)
 			len = *lenp;

+ 1 - 2
arch/s390/kernel/topology.c

@@ -588,8 +588,7 @@ static int topology_ctl_handler(struct ctl_table *ctl, int write,
 		return 0;
 	}
 	if (!write) {
-		strncpy(buf, topology_is_enabled() ? "1\n" : "0\n",
-			ARRAY_SIZE(buf));
+		memcpy(buf, topology_is_enabled() ? "1\n" : "0\n", ARRAY_SIZE(buf));
 		len = strnlen(buf, ARRAY_SIZE(buf));
 		if (len > *lenp)
 			len = *lenp;