diff options
author | Slávek Banko <slavek.banko@axis.cz> | 2016-01-27 23:12:46 +0100 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2016-01-27 23:12:59 +0100 |
commit | fd96a6c2a8509afe19221213b3941a63d33a4ee4 (patch) | |
tree | 4137b68b1b8b8a3405e2d0c10b20407b71348d83 /tdecore | |
parent | 111cc009ea9a3699dcdda42503efc284e0d58098 (diff) | |
download | tdelibs-fd96a6c2a8509afe19221213b3941a63d33a4ee4.tar.gz tdelibs-fd96a6c2a8509afe19221213b3941a63d33a4ee4.zip |
Fix crash in tdehwlib if not exists /sys/devices/system/cpu
This resolves Bug 2584
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
(cherry picked from commit f4fb3a8e71882fec8beffccf0ba3c5eb54310c89)
Diffstat (limited to 'tdecore')
-rw-r--r-- | tdecore/tdehw/tdehardwaredevices.cpp | 28 |
1 files 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 |