Avoid deadlock on unknown user channel
This commit is contained in:
committed by
Brandon McGinty
parent
f67cc657eb
commit
3f1e5d42ad
@@ -37,14 +37,14 @@ Priority 0: security and crashers
|
||||
nil. Initialize the map in DialWithDialer and assign its owning client when
|
||||
actions are created. Add handler tests for add/remove/trigger.
|
||||
|
||||
4. Unknown ChannelId deadlocks the protocol reader
|
||||
[x] 4. Unknown ChannelId deadlocks the protocol reader
|
||||
File: gumble/gumble/handlers.go
|
||||
In handleUserState, the unknown ChannelId branch takes c.volatile.Lock()
|
||||
again instead of unlocking before returning. This leaves the mutex locked
|
||||
forever. Replace with one unlock (prefer defer after acquisition) and add
|
||||
a malformed/out-of-order channel test.
|
||||
|
||||
5. OpenAL Buffer.Delete deletes a source, not a buffer
|
||||
[x] 5. OpenAL Buffer.Delete deletes a source, not a buffer
|
||||
File: gumble/go-openal/openal/buffer.go
|
||||
Buffer.Delete calls C.walDeleteSource. It must call C.walDeleteBuffer.
|
||||
The current code reports invalid source errors and leaks OpenAL buffers.
|
||||
|
||||
Reference in New Issue
Block a user