summaryrefslogtreecommitdiff
path: root/channels/chan_iax2.c
diff options
context:
space:
mode:
Diffstat (limited to 'channels/chan_iax2.c')
-rw-r--r--channels/chan_iax2.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index 66f0b97b6..f9a4d3f94 100644
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -6163,6 +6163,8 @@ static void spawn_dp_lookup(int callno, const char *context, const char *calledn
if (ast_pthread_create(&newthread, &attr, dp_lookup_thread, dpr)) {
ast_log(LOG_WARNING, "Unable to start lookup thread!\n");
}
+
+ pthread_attr_destroy(&attr);
}
struct iax_dual {
@@ -6237,8 +6239,11 @@ static int iax_park(struct ast_channel *chan1, struct ast_channel *chan2)
d->chan1 = chan1m;
d->chan2 = chan2m;
- if (!ast_pthread_create_background(&th, &attr, iax_park_thread, d))
+ if (!ast_pthread_create_background(&th, &attr, iax_park_thread, d)) {
+ pthread_attr_destroy(&attr);
return 0;
+ }
+ pthread_attr_destroy(&attr);
free(d);
}
return -1;