| From d314f26e024aaf15bf4ab22ceb98501148d0eac8 Mon Sep 17 00:00:00 2001 |
| From: Khem Raj <raj.khem@gmail.com> |
| Date: Mon, 7 May 2018 19:53:33 -0700 |
| Subject: [PATCH] Replace strncpy with memcpy |
| |
| gcc8 detects that strncpy is overwiritng the null terminating character |
| the source strings are already initialized to 0 so memcpy would do the same |
| job |
| |
| Fixes |
| rn2903.c:153:5: error: 'strncpy' output may be truncated copying 16 bytes from a string of length 511 [-Werror=stringop-truncation] |
| strncpy(dev->hardware_eui, dev->resp_data, RN2903_MAX_HEX_EUI64); |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| --- |
| src/ecezo/ecezo.c | 2 +- |
| src/rn2903/rn2903.c | 2 +- |
| 2 files changed, 2 insertions(+), 2 deletions(-) |
| |
| diff --git a/src/ecezo/ecezo.c b/src/ecezo/ecezo.c |
| index 6a195fc1..56c6dab3 100644 |
| --- a/src/ecezo/ecezo.c |
| +++ b/src/ecezo/ecezo.c |
| @@ -488,7 +488,7 @@ int ecezo_send_command(const ecezo_context dev, char *cmd, char *buffer, |
| // our write buffer |
| char writeBuffer[ECEZO_MAX_BUFFER_LEN]; |
| |
| - strncpy(writeBuffer, cmd, ECEZO_MAX_BUFFER_LEN); |
| + memcpy(writeBuffer, cmd, ECEZO_MAX_BUFFER_LEN-1); |
| writeBuffer[ECEZO_MAX_BUFFER_LEN - 1] = 0; |
| |
| int writelen = strlen(writeBuffer); |
| diff --git a/src/rn2903/rn2903.c b/src/rn2903/rn2903.c |
| index f30a33ae..01a011da 100644 |
| --- a/src/rn2903/rn2903.c |
| +++ b/src/rn2903/rn2903.c |
| @@ -150,7 +150,7 @@ static rn2903_context _rn2903_postinit(rn2903_context dev, |
| rn2903_close(dev); |
| return NULL; |
| } |
| - strncpy(dev->hardware_eui, dev->resp_data, RN2903_MAX_HEX_EUI64); |
| + memcpy(dev->hardware_eui, dev->resp_data, RN2903_MAX_HEX_EUI64); |
| |
| return dev; |
| } |
| -- |
| 2.17.0 |
| |