From fd96a6c2a8509afe19221213b3941a63d33a4ee4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Wed, 27 Jan 2016 23:12:46 +0100 Subject: [PATCH] Fix crash in tdehwlib if not exists /sys/devices/system/cpu This resolves Bug 2584 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Slávek Banko (cherry picked from commit f4fb3a8e71882fec8beffccf0ba3c5eb54310c89) --- tdecore/tdehw/tdehardwaredevices.cpp | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/tdecore/tdehw/tdehardwaredevices.cpp b/tdecore/tdehw/tdehardwaredevices.cpp index e0b594f49..26dc010f5 100644 --- a/tdecore/tdehw/tdehardwaredevices.cpp +++ b/tdecore/tdehw/tdehardwaredevices.cpp @@ -3543,21 +3543,23 @@ void TDEHardwareDevices::addCoreSystemDevices() { TQDir d("/sys/devices/system/cpu/"); d.setFilter( TQDir::Dirs ); const TQFileInfoList *list = d.entryInfoList(); - TQFileInfoListIterator it( *list ); - TQFileInfo *fi; - while ((fi = it.current()) != 0) { - TQString directoryName = fi->fileName(); - if (directoryName.startsWith("cpu")) { - directoryName = directoryName.remove(0,3); - bool isInt; - int processorNumber = directoryName.toUInt(&isInt, 10); - if (isInt) { - hwdevice = new TDECPUDevice(TDEGenericDeviceType::CPU); - hwdevice->internalSetSystemPath(TQString("/sys/devices/system/cpu/cpu%1").arg(processorNumber)); - m_deviceList.append(hwdevice); + if (list) { + TQFileInfoListIterator it( *list ); + TQFileInfo *fi; + while ((fi = it.current()) != 0) { + TQString directoryName = fi->fileName(); + if (directoryName.startsWith("cpu")) { + directoryName = directoryName.remove(0,3); + bool isInt; + int processorNumber = directoryName.toUInt(&isInt, 10); + if (isInt) { + hwdevice = new TDECPUDevice(TDEGenericDeviceType::CPU); + hwdevice->internalSetSystemPath(TQString("/sys/devices/system/cpu/cpu%1").arg(processorNumber)); + m_deviceList.append(hwdevice); + } } + ++it; } - ++it; } // Populate CPU information