diff --git a/cpu/cpu_darwin.go b/cpu/cpu_darwin.go index 3ffca8d..c61a470 100644 --- a/cpu/cpu_darwin.go +++ b/cpu/cpu_darwin.go @@ -5,6 +5,7 @@ package cpu import ( "context" + "errors" "fmt" "strconv" "strings" @@ -152,6 +153,10 @@ func perCPUTimes(machLib *common.Library) ([]TimesStat, error) { return nil, fmt.Errorf("host_processor_info error=%d", status) } + if cpuload == nil { + return nil, errors.New("host_processor_info returned nil cpuload") + } + defer vmDeallocate(machTaskSelf(), uintptr(unsafe.Pointer(cpuload)), uintptr(ncpu)) ret := []TimesStat{}