From 6f55bec04d9dc076a8e815f51b93b2391d76f973 Mon Sep 17 00:00:00 2001 From: Wilmer van der Gaast Date: Mon, 24 Sep 2012 00:25:32 +0100 Subject: xt_from_string() will return NULL if the string wasn't terminated properly. Adding an extra layer of defense against truncated responses from Twitter. But as long as the response from xt_from_string() isn't NULL-checked this won't help much. So that's my next step. :-) --- lib/xmltree.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'lib/xmltree.c') diff --git a/lib/xmltree.c b/lib/xmltree.c index 91d256d2..3ecb2b93 100644 --- a/lib/xmltree.c +++ b/lib/xmltree.c @@ -265,15 +265,18 @@ void xt_cleanup( struct xt_parser *xt, struct xt_node *node, int depth ) struct xt_node *xt_from_string( const char *in, int len ) { struct xt_parser *parser; - struct xt_node *ret; + struct xt_node *ret = NULL; if( len == 0 ) len = strlen( in ); parser = xt_new( NULL, NULL ); xt_feed( parser, in, len ); - ret = parser->root; - parser->root = NULL; + if( parser->cur == NULL ) + { + ret = parser->root; + parser->root = NULL; + } xt_free( parser ); return ret; -- cgit v1.2.3