]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
- Fix possible minor memory leak in chan_sip
authorOlle Johansson <oej@edvina.net>
Fri, 7 Apr 2006 13:47:32 +0000 (13:47 +0000)
committerOlle Johansson <oej@edvina.net>
Fri, 7 Apr 2006 13:47:32 +0000 (13:47 +0000)
- Return proper cause code on memory allocation error

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@18250 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index 0d939923adaea2ca9b254d2bfd5a605604c2ecd2..6df70ebfccd9d4d0d6cd246c93f2c5fda1d3ad5c 100644 (file)
@@ -11552,13 +11552,16 @@ static struct ast_channel *sip_request_call(const char *type, int format, void *
        }
        p = sip_alloc(NULL, NULL, 0, SIP_INVITE);
        if (!p) {
-               ast_log(LOG_WARNING, "Unable to build sip pvt data for '%s'\n", (char *)data);
+               ast_log(LOG_ERROR, "Unable to build sip pvt data for '%s' (Out of memory)\n", (char *)data);
+               *cause = AST_CAUSE_CONGESTION;
                return NULL;
        }
 
        p->options = calloc(1, sizeof(*p->options));
        if (!p->options) {
-               ast_log(LOG_ERROR, "Out of memory\n");
+               sip_destroy(p);
+               ast_log(LOG_ERROR, "Unable to build option SIP data structure - Out of memory\n");
+               *cause = AST_CAUSE_CONGESTION;
                return NULL;
        }