diff options
Diffstat (limited to 'protocols')
| -rw-r--r-- | protocols/jabber/iq.c | 4 | ||||
| -rw-r--r-- | protocols/jabber/si.c | 1 | 
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; | 
