[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