-
Notifications
You must be signed in to change notification settings - Fork 245
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
libice has 2 Memory leak #33
Comments
感谢反馈,我尝试分析下这块代码,可能还需要晚几天才能回复。 |
居然是个国人,定时器和start方法都有内存泄露风险。我已经修改验证了。
…---Original---
From: ***@***.***>
Date: Sat, Apr 30, 2022 09:43 AM
To: ***@***.***>;
Cc: ***@***.******@***.***>;
Subject: Re: [ireader/sdk] libice has 2 Memory leak (Issue #33)
感谢反馈,我尝试分析下这块代码,可能还需要晚几天才能回复。
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
方便的话提个MR? |
行,我等会提一下
…---Original---
From: ***@***.***>
Date: Sun, May 1, 2022 09:46 AM
To: ***@***.***>;
Cc: ***@***.******@***.***>;
Subject: Re: [ireader/sdk] libice has 2 Memory leak (Issue #33)
方便的话提个MR?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
in case,i want to realization a keepalive stun request,so i call ice_agent_start every 2 second with same ice_agent*.
in ice-checklist.c#157
darray_clear(&l->valids);
darray_clear(&l->trigger);
ice_candidate_components_clear(&l->components); // reset components
this code will reset darray->count = 0; but never free darry. so i change this code
darray_free(&l->valids);
darray_free(&l->trigger);
ice_candidate_components_free(&l->components);
another memory leak in ice-checklist.c #530 ice_checklist_ontimer
l->timer = stun_timer_start(ICE_TIMER_INTERVAL * ice_agent_active_checklist_count(l->ice), ice_checklist_ontimer, l);
checklist* l will obtain timer but never free,so i free this code in ice_checklist_ontimer#466
l = (struct ice_checklist_t*)param;
locker_lock(&l->locker);
assert(ICE_CHECKLIST_FROZEN != l->state);
if(l->timer){
free(l->timer);
l->timer = NULL;
}
The text was updated successfully, but these errors were encountered: