From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf0-f193.google.com ([209.85.192.193]:34206 "EHLO mail-pf0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751269AbeCTU3U (ORCPT ); Tue, 20 Mar 2018 16:29:20 -0400 Received: by mail-pf0-f193.google.com with SMTP id j20so1114358pfi.1 for ; Tue, 20 Mar 2018 13:29:19 -0700 (PDT) From: Stephen Hemminger To: netdev@vger.kernel.org Cc: Stephen Hemminger Subject: [PATCH iproute2 v2 5/9] namespace: fix warning snprintf buffer Date: Tue, 20 Mar 2018 13:29:05 -0700 Message-Id: <20180320202909.22166-6-stephen@networkplumber.org> In-Reply-To: <20180320202909.22166-1-stephen@networkplumber.org> References: <20180320202909.22166-1-stephen@networkplumber.org> Sender: netdev-owner@vger.kernel.org List-ID: It is possible that user could request really long namespace name and overrun the path buffer. Signed-off-by: Stephen Hemminger --- lib/namespace.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/namespace.c b/lib/namespace.c index 6f3356d0fa08..682634028587 100644 --- a/lib/namespace.c +++ b/lib/namespace.c @@ -23,7 +23,8 @@ static void bind_etc(const char *name) struct dirent *entry; DIR *dir; - snprintf(etc_netns_path, sizeof(etc_netns_path), "%s/%s", NETNS_ETC_DIR, name); + snprintf(etc_netns_path, sizeof(etc_netns_path), "%s/%s", + NETNS_ETC_DIR, name); dir = opendir(etc_netns_path); if (!dir) return; @@ -33,7 +34,8 @@ static void bind_etc(const char *name) continue; if (strcmp(entry->d_name, "..") == 0) continue; - snprintf(netns_name, sizeof(netns_name), "%s/%s", etc_netns_path, entry->d_name); + snprintf(netns_name, sizeof(netns_name), + "%s/%s", etc_netns_path, entry->d_name); snprintf(etc_name, sizeof(etc_name), "/etc/%s", entry->d_name); if (mount(netns_name, etc_name, "none", MS_BIND, NULL) < 0) { fprintf(stderr, "Bind %s -> %s failed: %s\n", -- 2.16.2