diff options
Diffstat (limited to 'channels/chan_sip.c')
-rw-r--r-- | channels/chan_sip.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index b8cc2b9cf..dd968ca5d 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -21366,8 +21366,9 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, str if (!ast_strlen_zero(callback)) { /* build string from peer info */ char *reg_string; - asprintf(®_string, "%s:%s@%s/%s", peer->username, peer->secret, peer->tohost, callback); - if (reg_string) { + if (asprintf(®_string, "%s:%s@%s/%s", peer->username, peer->secret, peer->tohost, callback) < 0) { + ast_log(LOG_WARNING, "asprintf() failed: %s\n", strerror(errno)); + } else if (reg_string) { sip_register(reg_string, 0); /* XXX TODO: count in registry_count */ ast_free(reg_string); } |