From: Phil Sutter Date: Thu, 5 Dec 2019 12:57:18 +0000 (+0100) Subject: libxtables: Avoid buffer overrun in xtables_compatible_revision() X-Git-Tag: v1.8.5~77 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f7d3dbb82e7ed94ccbf10cf70a3c7b3f3aaef1a1;p=thirdparty%2Fiptables.git libxtables: Avoid buffer overrun in xtables_compatible_revision() The function is exported and accepts arbitrary strings as input. Calling strcpy() without length checks is not OK. --- diff --git a/libxtables/xtables.c b/libxtables/xtables.c index 895f6988..777c2b08 100644 --- a/libxtables/xtables.c +++ b/libxtables/xtables.c @@ -856,7 +856,8 @@ int xtables_compatible_revision(const char *name, uint8_t revision, int opt) xtables_load_ko(xtables_modprobe_program, true); - strcpy(rev.name, name); + strncpy(rev.name, name, XT_EXTENSION_MAXNAMELEN - 1); + rev.name[XT_EXTENSION_MAXNAMELEN - 1] = '\0'; rev.revision = revision; max_rev = getsockopt(sockfd, afinfo->ipproto, opt, &rev, &s);