[Freeswitch-svn] [commit] r8636 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/msg

Freeswitch SVN mikej at freeswitch.org
Sun May 25 11:21:26 EDT 2008


Author: mikej
Date: Sun May 25 11:21:26 2008
New Revision: 8636

Modified:
   freeswitch/trunk/libs/sofia-sip/.update
   freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser.c

Log:
Thu May 22 10:38:06 EDT 2008  Pekka.Pessi at nokia.com
  * msg_parser.c: fixed klocwork issues


Modified: freeswitch/trunk/libs/sofia-sip/.update
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/.update	(original)
+++ freeswitch/trunk/libs/sofia-sip/.update	Sun May 25 11:21:26 2008
@@ -1 +1 @@
-Sun May 25 11:20:57 EDT 2008
+Sun May 25 11:21:21 EDT 2008

Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser.c	(original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser.c	Sun May 25 11:21:26 2008
@@ -1312,8 +1312,8 @@
 			     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 @@
     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 @@
     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 @@
       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 @@
   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 @@
 
   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 @@
 		      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);
 



More information about the Freeswitch-svn mailing list