[Cluster-devel] Cluster Project branch, master, updated. cluster-2.99.05-19-gf0a2cb5

fabbione at sourceware.org fabbione at sourceware.org
Wed Jun 25 09:29:33 UTC 2008


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Cluster Project".

http://sources.redhat.com/git/gitweb.cgi?p=cluster.git;a=commitdiff;h=f0a2cb52271835a65abb00b9cf64ce82f6c3cf6e

The branch, master has been updated
       via  f0a2cb52271835a65abb00b9cf64ce82f6c3cf6e (commit)
      from  39d39c61e694e7d7f0869c477392e532e8088a1d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit f0a2cb52271835a65abb00b9cf64ce82f6c3cf6e
Author: Fabio M. Di Nitto <fdinitto at redhat.com>
Date:   Wed Jun 25 11:29:02 2008 +0200

    [CONFIG] Fix several bugs in XML parsing implementations
    
    Signed-off-by: Fabio M. Di Nitto <fdinitto at redhat.com>

-----------------------------------------------------------------------

Summary of changes:
 config/libs/libccsconfdb/libccs.c |   13 ++++++++-----
 config/plugins/xml/config.c       |    5 ++++-
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/config/libs/libccsconfdb/libccs.c b/config/libs/libccsconfdb/libccs.c
index ea67f8b..278c9c7 100644
--- a/config/libs/libccsconfdb/libccs.c
+++ b/config/libs/libccsconfdb/libccs.c
@@ -594,8 +594,10 @@ int _ccs_get_fullxpath(int desc, const char *query, char **rtn, int list)
 
 	if (list && !strcmp(query, previous_query))
 		xmllistindex++;
-	else
+	else {
+		memset(previous_query, 0, PATH_MAX);
 		xmllistindex = 0;
+	}
 
 	memset(realquery, 0, PATH_MAX + 16);
 	snprintf(realquery, PATH_MAX + 16 - 1, "/objdbmaindoc%s", query);
@@ -605,13 +607,14 @@ int _ccs_get_fullxpath(int desc, const char *query, char **rtn, int list)
 	if(!obj)
 		return -EINVAL;
 
-	if (obj->nodesetval && (obj->nodesetval->nodeNr > 0) ) {
+	if (obj->nodesetval && (obj->nodesetval->nodeNr > 0)) {
 		xmlNodePtr node;
 		int size = 0, nnv = 0;
 
 		if(xmllistindex >= obj->nodesetval->nodeNr){
+			memset(previous_query, 0, PATH_MAX);
 			xmllistindex = 0;
-			res = -1;
+			res = -ENODATA;
 			goto fail;
 		}
 
@@ -627,7 +630,6 @@ int _ccs_get_fullxpath(int desc, const char *query, char **rtn, int list)
 			if (node->children && node->children->content)
 				size = strlen((char *)node->children->content) +
 					strlen((char *)node->name)+2;
-
 			else
 				size = strlen((char *)node->name)+2;
 
@@ -657,7 +659,8 @@ int _ccs_get_fullxpath(int desc, const char *query, char **rtn, int list)
 		if(list)
 			strncpy(previous_query, query, PATH_MAX-1);
 
-	}
+	} else
+		res = -EINVAL;
 
 fail:
 	if(obj)
diff --git a/config/plugins/xml/config.c b/config/plugins/xml/config.c
index 1fd3e69..84eee55 100644
--- a/config/plugins/xml/config.c
+++ b/config/plugins/xml/config.c
@@ -58,12 +58,15 @@ static char *do_xml_query(xmlXPathContextPtr ctx, char *query, int list) {
 
 	if (list && !strcmp(query, previous_query))
 		xmllistindex++;
-	else
+	else {
+		memset(previous_query, 0, PATH_MAX);
 		xmllistindex = 0;
+	}
 
 	obj = xmlXPathEvalExpression((xmlChar *)query, ctx);
 	if (obj && obj->nodesetval && (obj->nodesetval->nodeNr > 0)) {
 		if (xmllistindex >= obj->nodesetval->nodeNr) {
+			memset(previous_query, 0, PATH_MAX);
 			xmllistindex = 0;
 			goto fail;
 		}


hooks/post-receive
--
Cluster Project




More information about the Cluster-devel mailing list