[commit] r8636 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/msg
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@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);
participants (1)
-
Freeswitch SVN