Merged revisions 99301 via svnmerge from
authorJoshua Colp <jcolp@digium.com>
Mon, 21 Jan 2008 16:02:06 +0000 (16:02 +0000)
committerJoshua Colp <jcolp@digium.com>
Mon, 21 Jan 2008 16:02:06 +0000 (16:02 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r99301 | file | 2008-01-21 12:01:00 -0400 (Mon, 21 Jan 2008) | 4 lines

Bump the buffer size for Via headers up to 512. There are some exceptionally large Via headers out there.
(closes issue #11783)
Reported by: ofirroval

........

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

channels/chan_sip.c

index 9502cb8..c3e39e1 100644 (file)
@@ -6858,14 +6858,14 @@ static int copy_via_headers(struct sip_pvt *p, struct sip_request *req, const st
        int start = 0;
 
        for (;;) {
-               char new[256];
+               char new[512];
                const char *oh = __get_header(orig, field, &start);
 
                if (ast_strlen_zero(oh))
                        break;
 
                if (!copied) {  /* Only check for empty rport in topmost via header */
-                       char leftmost[256], *others, *rport;
+                       char leftmost[512], *others, *rport;
 
                        /* Only work on leftmost value */
                        ast_copy_string(leftmost, oh, sizeof(leftmost));
@@ -10749,7 +10749,7 @@ static attribute_unused void check_via_response(struct sip_pvt *p, struct sip_re
 /*! \brief check Via: header for hostname, port and rport request/answer */
 static void check_via(struct sip_pvt *p, struct sip_request *req)
 {
-       char via[256];
+       char via[512];
        char *c, *pt;
        struct hostent *hp;
        struct ast_hostent ahp;