blob: 3ed652f71fb0f771d9726ca5dc1db02ac58c62cc [file] [log] [blame]
Brad Bishop19323692019-04-05 15:28:33 -04001From 98719ea7f717750c790a1f9384ea8d0117e7f52d Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 17 Dec 2018 18:15:05 -0800
4Subject: [PATCH] libcollectdclient: Fix string overflow errors
5
6Ensure that string has a space for ending null char
7
8Upstream-Status: Pending
9
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 src/libcollectdclient/network_parse.c | 6 +++---
13 1 file changed, 3 insertions(+), 3 deletions(-)
14
15diff --git a/src/libcollectdclient/network_parse.c b/src/libcollectdclient/network_parse.c
16index fef43a9..6d65266 100644
17--- a/src/libcollectdclient/network_parse.c
18+++ b/src/libcollectdclient/network_parse.c
19@@ -169,9 +169,9 @@ static int parse_string(void *payload, size_t payload_size, char *out,
20
21 static int parse_identifier(uint16_t type, void *payload, size_t payload_size,
22 lcc_value_list_t *state) {
23- char buf[LCC_NAME_LEN];
24-
25- if (parse_string(payload, payload_size, buf, sizeof(buf)) != 0)
26+ char buf[LCC_NAME_LEN+1];
27+ buf[LCC_NAME_LEN] = '\0';
28+ if (parse_string(payload, payload_size, buf, LCC_NAME_LEN) != 0)
29 return EINVAL;
30
31 switch (type) {