]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Thu May 22 10:38:06 EDT 2008 Pekka.Pessi@nokia.com
authorMichael Jerris <mike@jerris.com>
Sun, 25 May 2008 15:21:26 +0000 (15:21 +0000)
committerMichael Jerris <mike@jerris.com>
Sun, 25 May 2008 15:21:26 +0000 (15:21 +0000)
  * msg_parser.c: fixed klocwork issues

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8636 d0543943-73ff-0310-b7d9-9358b9ac24b2

libs/sofia-sip/.update
libs/sofia-sip/libsofia-sip-ua/msg/msg_parser.c

index 6370987b1f13580271ea20bbc9f015e3d05154be..58edbe3b6c9a1637c92e7ae7d02a7939fece6fc0 100644 (file)
@@ -1 +1 @@
-Sun May 25 11:20:57 EDT 2008
+Sun May 25 11:21:21 EDT 2008
index 715434c3ba5468c15ee256135f614589a8a9d9a3..1ba3c1181df3affb4687ff89cfa91354c71188bc 100644 (file)
@@ -1312,8 +1312,8 @@ issize_t msg_extract_payload(msg_t *msg, msg_pub_t *mo,
                             char b[], isize_t bsiz,
                             int eos)
 {
-  msg_mclass_t const *mc = msg->m_class;
-  msg_href_t const *hr = mc->mc_payload;
+  msg_mclass_t const *mc;
+  msg_href_t const *hr;
   msg_header_t *h, *h0;
   msg_payload_t *pl;
   char *x;
@@ -1322,6 +1322,8 @@ issize_t msg_extract_payload(msg_t *msg, msg_pub_t *mo,
     return -1;
 
   assert(!msg->m_chunk);
+  mc = msg->m_class;
+  hr = mc->mc_payload;
 
   if (return_payload == NULL)
     return_payload = &h0;
@@ -1334,7 +1336,7 @@ issize_t msg_extract_payload(msg_t *msg, msg_pub_t *mo,
     return -1;
 
   append_parsed(msg, mo, hr, h, 0);
-  pl = h->sh_payload;
+  pl = (msg_payload_t*)h;
   *return_payload = h;
 
   if (bsiz >= body_len) {
@@ -1832,9 +1834,15 @@ char *msg_as_string(su_home_t *home, msg_t *msg, msg_pub_t *pub, int flags,
       else
        bsiz = used + n + 1;
 
+      if (bsiz < msg_min_size) {
+       errno = ENOMEM;
+       su_free(home, b);
+       return NULL;
+      }
+
       b2 = su_realloc(home, b, bsiz);
 
-      if (b2 == NULL || bsiz < msg_min_size) {
+      if (b2 == NULL) {
        errno = ENOMEM; 
        su_free(home, b);
        return NULL;
@@ -1896,7 +1904,7 @@ int msg_serialize(msg_t *msg, msg_pub_t *pub)
   msg_header_t **separator;
   msg_header_t **payload;
   msg_header_t **multipart;
-  msg_mclass_t const *mc = msg->m_class;
+  msg_mclass_t const *mc;
   msg_header_t **tail, ***ptail;
 
   if (!msg)
@@ -1914,6 +1922,7 @@ int msg_serialize(msg_t *msg, msg_pub_t *pub)
 
   serialize_first(msg, h);
 
+  mc = msg->m_class;
   separator = (msg_header_t **)((char *)pub + mc->mc_separator->hr_offset);
   payload = (msg_header_t **)((char *)pub + mc->mc_payload->hr_offset);
   if (mc->mc_multipart->hr_class)
@@ -2115,13 +2124,14 @@ void msg_insert_chain(msg_t *msg,
                      msg_header_t **head,
                      msg_header_t *h)
 {
-  msg_mclass_t const *mc = msg->m_class;
+  msg_mclass_t const *mc;
   msg_header_t **hh;
   msg_header_t **separator;
   msg_header_t **payload;
   
   assert(msg && pub && head && h);
 
+  mc = msg->m_class;
   separator = (msg_header_t **)((char *)pub + mc->mc_separator->hr_offset);
   payload = (msg_header_t **)((char *)pub + mc->mc_payload->hr_offset);