Merge pull request #1656 from thechampagne/master

fix memory leak
pull/1657/head
shirou 9 months ago committed by GitHub
commit 29699cd493
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -6,7 +6,10 @@ package sensors
// #cgo LDFLAGS: -framework IOKit // #cgo LDFLAGS: -framework IOKit
// #include "smc_darwin.h" // #include "smc_darwin.h"
import "C" import "C"
import "context" import (
"context"
"unsafe"
)
func TemperaturesWithContext(ctx context.Context) ([]TemperatureStat, error) { func TemperaturesWithContext(ctx context.Context) ([]TemperatureStat, error) {
temperatureKeys := []string{ temperatureKeys := []string{
@ -38,9 +41,11 @@ func TemperaturesWithContext(ctx context.Context) ([]TemperatureStat, error) {
defer C.gopsutil_v4_close_smc() defer C.gopsutil_v4_close_smc()
for _, key := range temperatureKeys { for _, key := range temperatureKeys {
ckey := C.CString(key)
defer C.free(unsafe.Pointer(ckey))
temperatures = append(temperatures, TemperatureStat{ temperatures = append(temperatures, TemperatureStat{
SensorKey: key, SensorKey: key,
Temperature: float64(C.gopsutil_v4_get_temperature(C.CString(key))), Temperature: float64(C.gopsutil_v4_get_temperature(ckey)),
}) })
} }
return temperatures, nil return temperatures, nil

Loading…
Cancel
Save