mirror of
https://github.com/moonlight-stream/moonlight-common-c.git
synced 2026-06-16 22:00:55 +00:00
Fix uninitialized memory usage in the RTP reorder queue causing assertion failures
This commit is contained in:
@@ -34,6 +34,8 @@ PLINKED_BLOCKING_QUEUE_ENTRY LbqFlushQueueItems(PLINKED_BLOCKING_QUEUE queueHead
|
|||||||
int LbqInitializeLinkedBlockingQueue(PLINKED_BLOCKING_QUEUE queueHead, int sizeBound) {
|
int LbqInitializeLinkedBlockingQueue(PLINKED_BLOCKING_QUEUE queueHead, int sizeBound) {
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
|
memset(queueHead, 0, sizeof(*queueHead));
|
||||||
|
|
||||||
err = PltCreateEvent(&queueHead->containsDataEvent);
|
err = PltCreateEvent(&queueHead->containsDataEvent);
|
||||||
if (err != 0) {
|
if (err != 0) {
|
||||||
return err;
|
return err;
|
||||||
@@ -44,11 +46,7 @@ int LbqInitializeLinkedBlockingQueue(PLINKED_BLOCKING_QUEUE queueHead, int sizeB
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
queueHead->head = NULL;
|
|
||||||
queueHead->tail = NULL;
|
|
||||||
queueHead->sizeBound = sizeBound;
|
queueHead->sizeBound = sizeBound;
|
||||||
queueHead->currentSize = 0;
|
|
||||||
queueHead->shutdown = 0;
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,13 +2,11 @@
|
|||||||
#include "RtpReorderQueue.h"
|
#include "RtpReorderQueue.h"
|
||||||
|
|
||||||
void RtpqInitializeQueue(PRTP_REORDER_QUEUE queue, int maxSize, int maxQueueTimeMs) {
|
void RtpqInitializeQueue(PRTP_REORDER_QUEUE queue, int maxSize, int maxQueueTimeMs) {
|
||||||
|
memset(queue, 0, sizeof(*queue));
|
||||||
queue->maxSize = maxSize;
|
queue->maxSize = maxSize;
|
||||||
queue->maxQueueTimeMs = maxQueueTimeMs;
|
queue->maxQueueTimeMs = maxQueueTimeMs;
|
||||||
queue->queueHead = NULL;
|
|
||||||
queue->queueTail = NULL;
|
|
||||||
queue->nextRtpSequenceNumber = UINT16_MAX;
|
queue->nextRtpSequenceNumber = UINT16_MAX;
|
||||||
queue->oldestQueuedTimeMs = UINT64_MAX;
|
queue->oldestQueuedTimeMs = UINT64_MAX;
|
||||||
queue->oldestQueuedEntry = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RtpqCleanupQueue(PRTP_REORDER_QUEUE queue) {
|
void RtpqCleanupQueue(PRTP_REORDER_QUEUE queue) {
|
||||||
|
|||||||
Reference in New Issue
Block a user