diff options
-rw-r--r-- | main/cli.c | 18 | ||||
-rw-r--r-- | res/res_pjsip/location.c | 1 | ||||
-rw-r--r-- | res/res_pjsip_dtmf_info.c | 8 | ||||
-rw-r--r-- | res/res_pjsip_session.c | 4 |
4 files changed, 22 insertions, 9 deletions
diff --git a/main/cli.c b/main/cli.c index 08856b67f..47c48d6b1 100644 --- a/main/cli.c +++ b/main/cli.c @@ -802,7 +802,7 @@ static void print_uptimestr(int fd, struct timeval timeval, const char *prefix, #define DAY (HOUR*24) #define WEEK (DAY*7) #define YEAR (DAY*365) -#define NEEDCOMMA(x) ((x)? ",": "") /* define if we need a comma */ +#define NEEDCOMMA(x) ((x) ? ", " : "") /* define if we need a comma */ if (timeval.tv_sec < 0) /* invalid, nothing to show */ return; @@ -814,31 +814,33 @@ static void print_uptimestr(int fd, struct timeval timeval, const char *prefix, if (timeval.tv_sec > YEAR) { x = (timeval.tv_sec / YEAR); timeval.tv_sec -= (x * YEAR); - ast_str_append(&out, 0, "%d year%s%s ", x, ESS(x),NEEDCOMMA(timeval.tv_sec)); + ast_str_append(&out, 0, "%d year%s%s", x, ESS(x), NEEDCOMMA(timeval.tv_sec)); } if (timeval.tv_sec > WEEK) { x = (timeval.tv_sec / WEEK); timeval.tv_sec -= (x * WEEK); - ast_str_append(&out, 0, "%d week%s%s ", x, ESS(x),NEEDCOMMA(timeval.tv_sec)); + ast_str_append(&out, 0, "%d week%s%s", x, ESS(x), NEEDCOMMA(timeval.tv_sec)); } if (timeval.tv_sec > DAY) { x = (timeval.tv_sec / DAY); timeval.tv_sec -= (x * DAY); - ast_str_append(&out, 0, "%d day%s%s ", x, ESS(x),NEEDCOMMA(timeval.tv_sec)); + ast_str_append(&out, 0, "%d day%s%s", x, ESS(x), NEEDCOMMA(timeval.tv_sec)); } if (timeval.tv_sec > HOUR) { x = (timeval.tv_sec / HOUR); timeval.tv_sec -= (x * HOUR); - ast_str_append(&out, 0, "%d hour%s%s ", x, ESS(x),NEEDCOMMA(timeval.tv_sec)); + ast_str_append(&out, 0, "%d hour%s%s", x, ESS(x), NEEDCOMMA(timeval.tv_sec)); } if (timeval.tv_sec > MINUTE) { x = (timeval.tv_sec / MINUTE); timeval.tv_sec -= (x * MINUTE); - ast_str_append(&out, 0, "%d minute%s%s ", x, ESS(x),NEEDCOMMA(timeval.tv_sec)); + ast_str_append(&out, 0, "%d minute%s%s", x, ESS(x), NEEDCOMMA(timeval.tv_sec)); } x = timeval.tv_sec; - if (x > 0 || ast_str_strlen(out) == 0) /* if there is nothing, print 0 seconds */ - ast_str_append(&out, 0, "%d second%s ", x, ESS(x)); + if (x > 0 || ast_str_strlen(out) == 0) { + /* if there is nothing, print 0 seconds */ + ast_str_append(&out, 0, "%d second%s", x, ESS(x)); + } ast_cli(fd, "%s: %s\n", prefix, ast_str_buffer(out)); } diff --git a/res/res_pjsip/location.c b/res/res_pjsip/location.c index 9e75929d7..37f39ba30 100644 --- a/res/res_pjsip/location.c +++ b/res/res_pjsip/location.c @@ -889,6 +889,7 @@ static int contact_apply_handler(const struct ast_sorcery *sorcery, void *object struct ast_sip_contact *contact = object; status = ast_res_pjsip_find_or_create_contact_status(contact); + ao2_cleanup(status); return status ? 0 : -1; } diff --git a/res/res_pjsip_dtmf_info.c b/res/res_pjsip_dtmf_info.c index b0a6649a0..7b52250c8 100644 --- a/res/res_pjsip_dtmf_info.c +++ b/res/res_pjsip_dtmf_info.c @@ -89,7 +89,13 @@ static int dtmf_info_incoming_request(struct ast_sip_session *session, struct pj char event = '\0'; unsigned int duration = 100; - char is_dtmf = is_media_type(rdata, "dtmf"); + char is_dtmf; + + if (!session->channel) { + return 0; + } + + is_dtmf = is_media_type(rdata, "dtmf"); if (!is_dtmf && !is_media_type(rdata, "dtmf-relay")) { return 0; diff --git a/res/res_pjsip_session.c b/res/res_pjsip_session.c index 3475e80b7..a8f8cba85 100644 --- a/res/res_pjsip_session.c +++ b/res/res_pjsip_session.c @@ -2627,6 +2627,10 @@ static pjsip_redirect_op session_inv_on_redirected(pjsip_inv_session *inv, const struct ast_sip_session *session = inv->mod_data[session_module.id]; const pjsip_sip_uri *uri; + if (!session->channel) { + return PJSIP_REDIRECT_STOP; + } + if (session->endpoint->redirect_method == AST_SIP_REDIRECT_URI_PJSIP) { return PJSIP_REDIRECT_ACCEPT; } |