diff options
Diffstat (limited to 'meta-networking/recipes-protocols/openlldp/files/0008-stringops-fix-some-string-copy-errors.patch')
-rw-r--r-- | meta-networking/recipes-protocols/openlldp/files/0008-stringops-fix-some-string-copy-errors.patch | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/meta-networking/recipes-protocols/openlldp/files/0008-stringops-fix-some-string-copy-errors.patch b/meta-networking/recipes-protocols/openlldp/files/0008-stringops-fix-some-string-copy-errors.patch new file mode 100644 index 0000000000..501b66699c --- /dev/null +++ b/meta-networking/recipes-protocols/openlldp/files/0008-stringops-fix-some-string-copy-errors.patch | |||
@@ -0,0 +1,61 @@ | |||
1 | From 61291de03cb6dd1aea2a633eb72951f3fe453e7f Mon Sep 17 00:00:00 2001 | ||
2 | From: Aaron Conole <aconole@redhat.com> | ||
3 | Date: Mon, 3 Aug 2020 15:33:08 -0400 | ||
4 | Subject: [PATCH 8/9] stringops: fix some string copy errors | ||
5 | |||
6 | Reported when using gcc-10. | ||
7 | |||
8 | Signed-off-by: Aaron Conole <aconole@redhat.com> | ||
9 | --- | ||
10 | dcb_protocol.c | 13 ++++--------- | ||
11 | lldp/ports.c | 2 +- | ||
12 | 2 files changed, 5 insertions(+), 10 deletions(-) | ||
13 | |||
14 | diff --git a/dcb_protocol.c b/dcb_protocol.c | ||
15 | index 75ca139..930251b 100644 | ||
16 | --- a/dcb_protocol.c | ||
17 | +++ b/dcb_protocol.c | ||
18 | @@ -2257,13 +2257,8 @@ cmd_status get_bwg_descrpt(char *device_name, u8 bwgid, char **name) | ||
19 | |||
20 | if ((it != NULL) && | ||
21 | (bwgid < it->second->max_pgid_desc)) { | ||
22 | - size = (int)strlen(it->second->pgid_desc[bwgid]) + | ||
23 | - sizeof(char); /* Localization OK */ | ||
24 | - *name = (char*)malloc(size); | ||
25 | - if (*name != NULL) { | ||
26 | - strncpy(*name, it->second->pgid_desc[bwgid], | ||
27 | - size); /* Localization OK */ | ||
28 | - } else { | ||
29 | + *name = strdup(it->second->pgid_desc[bwgid]); | ||
30 | + if (*name == NULL) { | ||
31 | goto Error; | ||
32 | } | ||
33 | } else { | ||
34 | @@ -2272,9 +2267,9 @@ cmd_status get_bwg_descrpt(char *device_name, u8 bwgid, char **name) | ||
35 | size = (int)strlen( | ||
36 | attribs.descript.pgid_desc[bwgid]) + | ||
37 | sizeof(char); | ||
38 | - *name = (char*)malloc(size); | ||
39 | + *name = (char*)calloc(size, sizeof(char)); | ||
40 | if (*name != NULL) { | ||
41 | - memcpy(*name, attribs.descript.pgid_desc[bwgid], size); /* Localization OK */ | ||
42 | + memcpy(*name, attribs.descript.pgid_desc[bwgid], size - 1); /* Localization OK */ | ||
43 | } else { | ||
44 | goto Error; | ||
45 | } | ||
46 | diff --git a/lldp/ports.c b/lldp/ports.c | ||
47 | index 6384f14..9b681f7 100644 | ||
48 | --- a/lldp/ports.c | ||
49 | +++ b/lldp/ports.c | ||
50 | @@ -264,7 +264,7 @@ struct port *add_port(int ifindex, const char *ifname) | ||
51 | memset(newport, 0, sizeof(*newport)); | ||
52 | newport->ifindex = ifindex; | ||
53 | newport->next = NULL; | ||
54 | - strncpy(newport->ifname, ifname, IFNAMSIZ); | ||
55 | + strncpy(newport->ifname, ifname, IFNAMSIZ - 1); | ||
56 | |||
57 | newport->bond_master = is_bond(ifname); | ||
58 | /* Initialize relevant port variables */ | ||
59 | -- | ||
60 | 2.28.0 | ||
61 | |||