Skip to content

Commit 29699cd

Browse files
authored
Merge pull request #1656 from thechampagne/master
fix memory leak
2 parents 184fb1c + e19951c commit 29699cd

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

sensors/sensors_darwin_cgo.go

+7-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@ package sensors
66
// #cgo LDFLAGS: -framework IOKit
77
// #include "smc_darwin.h"
88
import "C"
9-
import "context"
9+
import (
10+
"context"
11+
"unsafe"
12+
)
1013

1114
func TemperaturesWithContext(ctx context.Context) ([]TemperatureStat, error) {
1215
temperatureKeys := []string{
@@ -38,9 +41,11 @@ func TemperaturesWithContext(ctx context.Context) ([]TemperatureStat, error) {
3841
defer C.gopsutil_v4_close_smc()
3942

4043
for _, key := range temperatureKeys {
44+
ckey := C.CString(key)
45+
defer C.free(unsafe.Pointer(ckey))
4146
temperatures = append(temperatures, TemperatureStat{
4247
SensorKey: key,
43-
Temperature: float64(C.gopsutil_v4_get_temperature(C.CString(key))),
48+
Temperature: float64(C.gopsutil_v4_get_temperature(ckey)),
4449
})
4550
}
4651
return temperatures, nil

0 commit comments

Comments
 (0)