fix: prevent nil pointer dereference when stopping timers in Close method

This commit is contained in:
Adam Shiervani 2025-09-18 11:01:00 +02:00 committed by Siyuan Miao
parent b1f345db70
commit 8681d1ffa0
1 changed files with 3 additions and 1 deletions

View File

@ -165,8 +165,10 @@ func (u *UsbGadget) Close() error {
// Stop auto-release timer // Stop auto-release timer
u.kbdAutoReleaseLock.Lock() u.kbdAutoReleaseLock.Lock()
for _, timer := range u.kbdAutoReleaseTimers { for _, timer := range u.kbdAutoReleaseTimers {
if timer != nil {
timer.Stop() timer.Stop()
} }
}
u.kbdAutoReleaseTimers = make(map[byte]*time.Timer) u.kbdAutoReleaseTimers = make(map[byte]*time.Timer)
u.kbdAutoReleaseLock.Unlock() u.kbdAutoReleaseLock.Unlock()