From d028d9149d14b9bfd214c45a05cded4d700b3241 Mon Sep 17 00:00:00 2001 From: rong wang Date: Fri, 13 Sep 2024 11:09:49 +0800 Subject: [PATCH] fix: remove the call to the bash program Remove the call to the bash program. Log: enhance security Task: https://pms.uniontech.com/task-view-362563.html --- deepin-system-monitor-main/system/cpu_set.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/deepin-system-monitor-main/system/cpu_set.cpp b/deepin-system-monitor-main/system/cpu_set.cpp index 311fd44a..82d4fd2d 100644 --- a/deepin-system-monitor-main/system/cpu_set.cpp +++ b/deepin-system-monitor-main/system/cpu_set.cpp @@ -635,10 +635,17 @@ void CPUSet::read_dmi_cache_info() if (!spnInfo.contains("KLVV", Qt::CaseInsensitive) && !spnInfo.contains("L540", Qt::CaseInsensitive) && !spnInfo.contains("KLVU", Qt::CaseInsensitive) && !spnInfo.contains("PGUV", Qt::CaseInsensitive) && !spnInfo.contains("PGUW", Qt::CaseInsensitive) && !spnInfo.contains("W585", Qt::CaseInsensitive)) { - process.start("bash", QStringList() << "-c" << "dmidecode | grep -i \"String 4\""); + process.start("dmidecode"); process.waitForStarted(); process.waitForFinished(); QString result = process.readAll(); + QStringList lines = result.split('\n'); + for (const QString &line : lines) { + if (line.contains("String 4", Qt::CaseInsensitive)) { + result = line; + break; + } + } if(!result.contains("PWC30", Qt::CaseInsensitive)){ //w525 process.close(); return;