mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-08-24 02:34:23 -05:00
happy-eyeballs: Reserve array length for all candidates
The code currently assumes that the array does not change during execution, this assumption is violated when the darray resizes causing previous pointers to point to invalid memory and cause undefined behavior and crashes. This may need refactoring in the future, this commit simply fixes the issue for now.
This commit is contained in:
committed by
Ryan Foster
parent
c7b0c63d01
commit
fce534572b
@@ -497,6 +497,7 @@ int happy_eyeballs_create(struct happy_eyeballs_ctx **context)
|
||||
|
||||
ctx->socket_fd = INVALID_SOCKET;
|
||||
da_init(ctx->candidates);
|
||||
da_reserve(ctx->candidates, HAPPY_EYEBALLS_MAX_ATTEMPTS);
|
||||
|
||||
/* race_completed_event will be signalled when there is a winner or all
|
||||
* attempts have failed */
|
||||
|
||||
Reference in New Issue
Block a user