From 152e315433f2ff69a5e91a2269812918da2ce091 Mon Sep 17 00:00:00 2001 From: Erik Skultety Date: Tue, 2 Jun 2015 09:25:04 +0200 Subject: [PATCH] nwfilter: Fix sscanf off-by-one error in virNWFilterSnoopLeaseFileLoad We allocate 16 bytes for IPv4 address and 55 bytes for interface key, therefore we should read up to 15/54 bytes and let the last byte reserved for terminating null byte in sscanf. https://bugzilla.redhat.com/show_bug.cgi?id=1226400 --- src/nwfilter/nwfilter_dhcpsnoop.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/nwfilter/nwfilter_dhcpsnoop.c b/src/nwfilter/nwfilter_dhcpsnoop.c index 6da8983d51..f331e22e9e 100644 --- a/src/nwfilter/nwfilter_dhcpsnoop.c +++ b/src/nwfilter/nwfilter_dhcpsnoop.c @@ -1958,8 +1958,8 @@ virNWFilterSnoopLeaseFileLoad(void) break; } ln++; - /* key len 55 = "VMUUID"+'-'+"MAC" */ - if (sscanf(line, "%u %55s %16s %16s", &ipl.timeout, + /* key len 54 = "VMUUID"+'-'+"MAC" */ + if (sscanf(line, "%u %54s %15s %15s", &ipl.timeout, ifkey, ipstr, srvstr) < 4) { virReportError(VIR_ERR_INTERNAL_ERROR, _("virNWFilterSnoopLeaseFileLoad lease file "