mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
zdev: Copy strings correctly using util_strlcpy()
Make sure strings are copied correctly by using util_strlcpy().
Also, rename the NIC_{OWNER,NAME}_LEN definitions to *_SIZE to make it
more clear that the terminating null byte ('\0') is included in this
buffer size. Using *_LEN would mean only the number of characters in the
string fit in.
Furthermore, use these definitions rather than sizeof().
This fixes the following GCC8 compile warning:
nic.c: In function ‘nic_data_get’:
nic.c:58:2: warning: ‘strncpy’ specified bound 9 equals destination size
[-Wstringop-truncation]
strncpy(data.owner, argv[11], sizeof(data.owner));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
nic.c:59:2: warning: ‘strncpy’ specified bound 9 equals destination size
[-Wstringop-truncation]
strncpy(data.name, argv[12], sizeof(data.name));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
@@ -24,14 +24,14 @@ enum nic_target {
|
|||||||
nic_lan,
|
nic_lan,
|
||||||
};
|
};
|
||||||
|
|
||||||
#define NIC_OWNER_LEN 9
|
#define NIC_OWNER_SIZE 9
|
||||||
#define NIC_NAME_LEN 9
|
#define NIC_NAME_SIZE 9
|
||||||
|
|
||||||
struct nic_data {
|
struct nic_data {
|
||||||
enum nic_type type;
|
enum nic_type type;
|
||||||
enum nic_target target;
|
enum nic_target target;
|
||||||
char owner[NIC_OWNER_LEN];
|
char owner[NIC_OWNER_SIZE];
|
||||||
char name[NIC_NAME_LEN];
|
char name[NIC_NAME_SIZE];
|
||||||
};
|
};
|
||||||
|
|
||||||
bool nic_data_get(const char *, struct nic_data *);
|
bool nic_data_get(const char *, struct nic_data *);
|
||||||
|
|||||||
@@ -10,6 +10,8 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
#include "lib/util_libc.h"
|
||||||
|
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
#include "nic.h"
|
#include "nic.h"
|
||||||
#include "path.h"
|
#include "path.h"
|
||||||
@@ -55,8 +57,8 @@ bool nic_data_get(const char *id, struct nic_data *data_ptr)
|
|||||||
else
|
else
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
strncpy(data.owner, argv[11], sizeof(data.owner));
|
util_strlcpy(data.owner, argv[11], NIC_OWNER_SIZE);
|
||||||
strncpy(data.name, argv[12], sizeof(data.name));
|
util_strlcpy(data.name, argv[12], NIC_NAME_SIZE);
|
||||||
|
|
||||||
result = true;
|
result = true;
|
||||||
*data_ptr = data;
|
*data_ptr = data;
|
||||||
|
|||||||
Reference in New Issue
Block a user