Skip to content
Snippets Groups Projects
Commit ed289fd3 authored by Russell Bryant's avatar Russell Bryant
Browse files

fix a memory leak.

(inspired by, and potentially fixes issue #12917)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@124798 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent 5ba60658
No related branches found
No related tags found
No related merge requests found
......@@ -102,6 +102,7 @@ static struct {
static int pthread_timer_open(void)
{
struct pthread_timer *timer;
int fd;
if (!(timer = ao2_alloc(sizeof(*timer), pthread_timer_destructor))) {
errno = ENOMEM;
......@@ -125,7 +126,11 @@ static int pthread_timer_open(void)
ao2_link(pthread_timers, timer);
ao2_unlock(pthread_timers);
return timer->pipe[PIPE_READ];
fd = timer->pipe[PIPE_READ];
ao2_ref(timer, -1);
return fd;
}
static void pthread_timer_close(int handle)
......@@ -326,7 +331,6 @@ static int check_timer(struct pthread_timer *timer)
static void read_pipe(int rd_fd, unsigned int quantity, int clear)
{
ast_assert(quantity || clear);
if (!quantity && clear) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment