aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--protocols/jabber/iq.c4
-rw-r--r--protocols/jabber/si.c1
2 files changed, 3 insertions, 2 deletions
diff --git a/protocols/jabber/iq.c b/protocols/jabber/iq.c
index e3c77d3d..dfdc6887 100644
--- a/protocols/jabber/iq.c
+++ b/protocols/jabber/iq.c
@@ -659,8 +659,8 @@ xt_status jabber_iq_parse_features( struct im_connection *ic, struct xt_node *no
struct jabber_buddy *bud;
char *feature, *xmlns, *from;
- if( !( c = xt_find_node( node->children, "query" ) ) ||
- !( from = xt_find_attr( c, "from" ) ) ||
+ if( !( from = xt_find_attr( node, "from" ) ) ||
+ !( c = xt_find_node( node->children, "query" ) ) ||
!( xmlns = xt_find_attr( c, "xmlns" ) ) ||
!( strcmp( xmlns, XMLNS_DISCO_INFO ) == 0 ) )
{
diff --git a/protocols/jabber/si.c b/protocols/jabber/si.c
index a87f7b8b..b76fb3e0 100644
--- a/protocols/jabber/si.c
+++ b/protocols/jabber/si.c
@@ -249,6 +249,7 @@ int jabber_si_handle_request( struct im_connection *ic, struct xt_node *node, st
c = d->children;
while( ( c = xt_find_node( c, "option" ) ) )
if( ( d = xt_find_node( c->children, "value" ) ) &&
+ ( d->text != NULL ) &&
( strcmp( d->text, XMLNS_BYTESTREAMS ) == 0 ) )
{
requestok = TRUE;