mirror of
https://github.com/Dr-Noob/cpufetch.git
synced 2026-03-24 23:40:39 +01:00
Fix: Do not enter get_uarch_from_riscv_cpuinfo with a zero marchid and use strtoul instead of strtol for unsigned long
This commit is contained in:
@@ -93,8 +93,8 @@ struct uarch* get_uarch(struct cpuInfo* cpu) {
|
|||||||
printWarn("get_uarch_from_cpuinfo: Unable to detect microarchitecture using uarch: cpuinfo_str is NULL");
|
printWarn("get_uarch_from_cpuinfo: Unable to detect microarchitecture using uarch: cpuinfo_str is NULL");
|
||||||
arch->ci = get_riscv_cpuinfo();
|
arch->ci = get_riscv_cpuinfo();
|
||||||
|
|
||||||
if (arch->ci == NULL)
|
if (arch->ci == NULL || arch->ci->marchid == 0)
|
||||||
printWarn("get_riscv_cpuinfo: Unable to get cpuinfo from udev");
|
printWarn("get_riscv_cpuinfo: Unable to get marchid from udev");
|
||||||
else
|
else
|
||||||
arch = get_uarch_from_riscv_cpuinfo(cpu, arch);
|
arch = get_uarch_from_riscv_cpuinfo(cpu, arch);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,9 +92,9 @@ unsigned long parse_cpuinfo_field_uint64(char* field_str) {
|
|||||||
|
|
||||||
char* end;
|
char* end;
|
||||||
errno = 0;
|
errno = 0;
|
||||||
long ret = strtol(tmp, &end, 16);
|
unsigned long ret = strtoul(tmp, &end, 16);
|
||||||
if(errno != 0) {
|
if (errno != 0) {
|
||||||
printWarn("strtol: %s:\n", strerror(errno));
|
printWarn("strtoul: %s: %s", strerror(errno), tmp);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user