Skip to content

Commit 69da92a

Browse files
committed
OSESystemInfo: return "Unknown" for CPU name if /proc/cpuinfo doesn't contain information. This change fixes issue #449.
1 parent 9840cc5 commit 69da92a

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

Frameworks/SystemKit/Linux/OSESystemInfo_Linux.m

+19-8
Original file line numberDiff line numberDiff line change
@@ -112,15 +112,26 @@ + (unsigned int)cpuMHzSpeed
112112

113113
+ (NSString *)cpuName
114114
{
115-
NSString *cpuInfo = [NSString stringWithContentsOfFile:@"/proc/cpuinfo"];
115+
NSString *result = @"Unknown";
116+
NSString *cpuInfo;
117+
NSRange modelRange;
116118
NSString *modelName;
117-
NSRange modelRange = [cpuInfo rangeOfString:@"model name"];
118-
NSRange modelLineRange = [cpuInfo lineRangeForRange:modelRange];
119-
120-
modelLineRange.length--; // drop EOL
121-
modelName = [cpuInfo substringWithRange:modelLineRange];
122-
123-
return [[modelName componentsSeparatedByString:@":"] objectAtIndex:1];
119+
NSRange modelLineRange;
120+
121+
cpuInfo = [NSString stringWithContentsOfFile:@"/proc/cpuinfo"];
122+
if (cpuInfo) {
123+
modelRange = [cpuInfo rangeOfString:@"model name"];
124+
if (modelRange.location != NSNotFound) {
125+
modelLineRange = [cpuInfo lineRangeForRange:modelRange];
126+
if (modelLineRange.length > 0) {
127+
modelLineRange.length--; // drop EOL
128+
modelName = [cpuInfo substringWithRange:modelLineRange];
129+
result = [[modelName componentsSeparatedByString:@":"] objectAtIndex:1];
130+
}
131+
}
132+
}
133+
134+
return result;
124135
}
125136

126137
+ (NSString *)_releaseFileValueForField:(NSString *)fieldName

0 commit comments

Comments
 (0)