summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main/cli.c18
-rw-r--r--res/res_pjsip/location.c1
-rw-r--r--res/res_pjsip_dtmf_info.c8
-rw-r--r--res/res_pjsip_session.c4
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;
}