]> git.proxmox.com Git - mirror_iproute2.git/commitdiff
namespace: limit the length of namespace name to avoid snprintf overflow
authorStephen Hemminger <stephen@networkplumber.org>
Thu, 29 Mar 2018 15:40:26 +0000 (08:40 -0700)
committerStephen Hemminger <stephen@networkplumber.org>
Thu, 29 Mar 2018 15:40:26 +0000 (08:40 -0700)
This fixes problem reported by gcc-8

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
lib/namespace.c

index 6f3356d0fa08df911abd54a5599a7c9843108df5..43e0fe349ec360ed1719959dcd8ce42aa840b977 100644 (file)
 
 static void bind_etc(const char *name)
 {
-       char etc_netns_path[PATH_MAX];
+       char etc_netns_path[sizeof(NETNS_ETC_DIR) + NAME_MAX];
        char netns_name[PATH_MAX];
        char etc_name[PATH_MAX];
        struct dirent *entry;
        DIR *dir;
 
+       if (strlen(name) >= NAME_MAX)
+               return;
+
        snprintf(etc_netns_path, sizeof(etc_netns_path), "%s/%s", NETNS_ETC_DIR, name);
        dir = opendir(etc_netns_path);
        if (!dir)