summaryrefslogtreecommitdiff
path: root/channels/chan_iax2.c
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2015-11-24 12:44:53 -0600
committerRichard Mudgett <rmudgett@digium.com>2015-12-01 13:53:18 -0600
commit6d9156d10f8941f1da90bf81109904432a2f293d (patch)
treee4041883b0ae63e19af4979a73e8cab29158197f /channels/chan_iax2.c
parent3fcf160faeb036529c575b66d73e7978f475fb28 (diff)
Audit improper usage of scheduler exposed by 5c713fdf18f.
channels/chan_iax2.c: * Initialize struct chan_iax2_pvt scheduler ids earlier because of iax2_destroy_helper(). channels/chan_sip.c: channels/sip/config_parser.c: * Fix initialization of scheduler id struct members. Some off nominal paths had 0 as a scheduler id to be destroyed when it was never started. chan_skinny.c: * Fix some scheduler id comparisons that excluded the valid 0 id. channel.c: * Fix channel initialization of the video stream scheduler id. pbx_dundi.c: * Fix channel initialization of the packet retransmission scheduler id. ASTERISK-25476 Change-Id: I07a3449f728f671d326a22fcbd071f150ba2e8c8
Diffstat (limited to 'channels/chan_iax2.c')
-rw-r--r--channels/chan_iax2.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index 42a538fd4..8d5018d2c 100644
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -2249,6 +2249,14 @@ static struct chan_iax2_pvt *new_iax(struct ast_sockaddr *addr, const char *host
return NULL;
}
+ tmp->pingid = -1;
+ tmp->lagid = -1;
+ tmp->autoid = -1;
+ tmp->authid = -1;
+ tmp->initid = -1;
+ tmp->keyrotateid = -1;
+ tmp->jbid = -1;
+
if (ast_string_field_init(tmp, 32)) {
ao2_ref(tmp, -1);
tmp = NULL;
@@ -2256,18 +2264,11 @@ static struct chan_iax2_pvt *new_iax(struct ast_sockaddr *addr, const char *host
}
tmp->prefs = prefs_global;
- tmp->pingid = -1;
- tmp->lagid = -1;
- tmp->autoid = -1;
- tmp->authid = -1;
- tmp->initid = -1;
- tmp->keyrotateid = -1;
ast_string_field_set(tmp,exten, "s");
ast_string_field_set(tmp,host, host);
tmp->jb = jb_new();
- tmp->jbid = -1;
jbconf.max_jitterbuf = maxjitterbuffer;
jbconf.resync_threshold = resyncthreshold;
jbconf.max_contig_interp = maxjitterinterps;