mirror of
https://github.com/moonlight-stream/moonlight-common-c.git
synced 2025-08-18 09:25:49 +00:00
Fix heap corruption after packet queue overflow
This commit is contained in:
parent
57031d26e1
commit
5d2d6cc617
@ -105,10 +105,7 @@ static void ReceiveThreadProc(void* context) {
|
|||||||
memcpy(buffer, &err, sizeof(err));
|
memcpy(buffer, &err, sizeof(err));
|
||||||
|
|
||||||
err = LbqOfferQueueItem(&packetQueue, buffer);
|
err = LbqOfferQueueItem(&packetQueue, buffer);
|
||||||
if (err != LBQ_SUCCESS) {
|
if (err == LBQ_SUCCESS) {
|
||||||
free(buffer);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// The queue owns the buffer now
|
// The queue owns the buffer now
|
||||||
buffer = NULL;
|
buffer = NULL;
|
||||||
}
|
}
|
||||||
@ -118,6 +115,7 @@ static void ReceiveThreadProc(void* context) {
|
|||||||
}
|
}
|
||||||
else if (err == LBQ_INTERRUPTED) {
|
else if (err == LBQ_INTERRUPTED) {
|
||||||
Limelog("Receive thread terminating #2\n");
|
Limelog("Receive thread terminating #2\n");
|
||||||
|
free(buffer);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user