From 51cae021d6c3a93f27bde612cf0a2f51ba17c87a Mon Sep 17 00:00:00 2001 From: Jussi Kuokkanen Date: Tue, 19 Apr 2022 19:25:22 +0300 Subject: [PATCH] nvidia: fix memory leak in pcie utilization node --- src/plugins/Nvidia.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/plugins/Nvidia.cpp b/src/plugins/Nvidia.cpp index d0eaf94..69591d4 100644 --- a/src/plugins/Nvidia.cpp +++ b/src/plugins/Nvidia.cpp @@ -376,11 +376,15 @@ NvidiaPlugin::NvidiaPlugin() : m_dpy() { const std::string target("PCIe="); char *val; // We're looking for a format of PCIe=xxx - if (!XNVCTRLQueryTargetStringAttribute(m_dpy, NV_CTRL_TARGET_TYPE_GPU, index, 0, NV_CTRL_STRING_GPU_UTILIZATION, &val)) + if (!XNVCTRLQueryTargetStringAttribute(m_dpy, NV_CTRL_TARGET_TYPE_GPU, index, 0, + NV_CTRL_STRING_GPU_UTILIZATION, &val)) { return ReadError::UnknownError; + } // The index after the '=', rest of the string should be the number auto strIndex = std::string(val).find(target) + target.length(); - return static_cast(std::stoul(std::string(val).substr(strIndex))); + auto retval = static_cast(std::stoul(std::string(val).substr(strIndex))); + delete val; + return retval; }, "%", "PCIe Bandwidth Utilization",