From 002cd256ca251c3dafad0a73bf8900e14c0e8e1a Mon Sep 17 00:00:00 2001 From: mint570 <70396898+mint570@users.noreply.github.com> Date: Tue, 24 Sep 2024 10:38:01 -0700 Subject: [PATCH] Close socket descriptor in checkPortIffUp. (#3263) What I did Close socket descriptor in checkPortIffUp. Why I did it Currently the file descriptor is not closed. It will cause descriptor leak. --- cfgmgr/teammgr.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cfgmgr/teammgr.cpp b/cfgmgr/teammgr.cpp index 36c9d134e1..d72b522047 100644 --- a/cfgmgr/teammgr.cpp +++ b/cfgmgr/teammgr.cpp @@ -396,11 +396,15 @@ bool TeamMgr::checkPortIffUp(const string &port) if (fd == -1 || ioctl(fd, SIOCGIFFLAGS, &ifr) == -1) { SWSS_LOG_ERROR("Failed to get port %s flags", port.c_str()); + if (fd != -1) + { + close(fd); + } return false; } SWSS_LOG_INFO("Get port %s flags %i", port.c_str(), ifr.ifr_flags); - + close(fd); return ifr.ifr_flags & IFF_UP; }