diff mbox series

[OpenWrt-Devel,firewall3,1/2] options.c, redirects.c: Fix possible buffer overflows

Message ID 20181219112312.8707-1-hauke@hauke-m.de
State Accepted
Delegated to: Hauke Mehrtens
Headers show
Series [OpenWrt-Devel,firewall3,1/2] options.c, redirects.c: Fix possible buffer overflows | expand

Commit Message

Hauke Mehrtens Dec. 19, 2018, 11:23 a.m. UTC
This fixes two possible situations where strncpy() produces a not null
terminated buffer.

Coverity IDs:
* 1412247 Buffer not null terminated
* 1412279 Buffer not null terminated

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 options.c   | 2 +-
 redirects.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comments

Jo-Philipp Wich Dec. 19, 2018, 12:52 p.m. UTC | #1
Hi,

> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

Acked-by: Jo-Philipp Wich <jo@mein.io>


~ Jo
diff mbox series

Patch

diff --git a/options.c b/options.c
index 5184346..c763d9e 100644
--- a/options.c
+++ b/options.c
@@ -939,7 +939,7 @@  fw3_parse_setmatch(void *ptr, const char *val, bool is_list)
 		return false;
 	}
 
-	strncpy(m->name, p, sizeof(m->name));
+	strncpy(m->name, p, sizeof(m->name) - 1);
 
 	for (i = 0, p = strtok(NULL, " \t,");
 	     i < 3 && p != NULL;
diff --git a/redirects.c b/redirects.c
index ab95395..97529ee 100644
--- a/redirects.c
+++ b/redirects.c
@@ -154,7 +154,7 @@  resolve_dest(struct uci_element *e, struct fw3_redirect *redir,
 			if (!compare_addr(addr, &redir->ip_redir))
 				continue;
 
-			strncpy(redir->dest.name, zone->name, sizeof(redir->dest.name));
+			strncpy(redir->dest.name, zone->name, sizeof(redir->dest.name) - 1);
 			redir->dest.set = true;
 			redir->_dest = zone;