diff options
author | Benny Prijono <bennylp@teluu.com> | 2011-09-09 09:49:41 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2011-09-09 09:49:41 +0000 |
commit | 4803be66dcddff1800717dda2dcc386021eb8570 (patch) | |
tree | 1a837acff1eb555eab225cd6486de55d53ffacfe /pjsip | |
parent | 1761cafb1cf790f728ca7e8020b74adbfeb9d889 (diff) |
Fixed #1367: Crash if presence PIDF body is missing <basic> element (thanks Matt DiMeo for the patch)
git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@3747 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip')
-rw-r--r-- | pjsip/src/pjsip-simple/pidf.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/pjsip/src/pjsip-simple/pidf.c b/pjsip/src/pjsip-simple/pidf.c index 4787d9a8..b90725d4 100644 --- a/pjsip/src/pjsip-simple/pidf.c +++ b/pjsip/src/pjsip-simple/pidf.c @@ -324,15 +324,16 @@ PJ_DEF(void) pjpidf_status_construct(pj_pool_t *pool, pjpidf_status *st) PJ_DEF(pj_bool_t) pjpidf_status_is_basic_open(const pjpidf_status *st) { pj_xml_node *node = pj_xml_find_node((pj_xml_node*)st, &BASIC); - pj_assert(node != NULL); + if (!node) + return PJ_FALSE; return pj_stricmp(&node->content, &OPEN)==0; } PJ_DEF(void) pjpidf_status_set_basic_open(pjpidf_status *st, pj_bool_t open) { pj_xml_node *node = pj_xml_find_node(st, &BASIC); - pj_assert(node != NULL); - node->content = open ? OPEN : CLOSED; + if (node) + node->content = open ? OPEN : CLOSED; } PJ_DEF(pjpidf_pres*) pjpidf_create(pj_pool_t *pool, const pj_str_t *entity) |