Remove an unneeded condition for line addition to a SIP request/response
authorMark Michelson <mmichelson@digium.com>
Thu, 15 Jan 2009 19:00:06 +0000 (19:00 +0000)
committerMark Michelson <mmichelson@digium.com>
Thu, 15 Jan 2009 19:00:06 +0000 (19:00 +0000)
In Asterisk 1.4 and 1.6.0, the sip_request structure had a statically
allocated buffer to hold the text of the request. There was a check in the
add_line function to not attempt to write the line into the buffer if we
did not have room for it.

In trunk and Asterisk versions starting with 1.6.1, an expandable ast_str
structure is used to hold the text. Since it may grow to fit an arbitrarily
sized string, this check in add_line is no longer valid.

I found this oddity while attempting to fix issue #14220; however, I do not
believe that this is the fix for that issue since the output supplied by the
reporter did not contain the warning message that would be printed had this
condition been satisfied.

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

channels/chan_sip.c

index 1690a6a..7db4d24 100644 (file)
@@ -8085,10 +8085,6 @@ static int add_line(struct sip_request *req, const char *line)
        if (!req->lines)
                /* Add extra empty return */
                req->len += ast_str_append(&req->data, 0, "\r\n");
-       if (req->len >= sizeof(req->data->str) - 4) {
-               ast_log(LOG_WARNING, "Out of space, can't add anymore\n");
-               return -1;
-       }
        req->line[req->lines] = req->data->str + req->len;
        ast_str_append(&req->data, 0, "%s", line);
        req->len += strlen(req->line[req->lines]);