You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by sc...@apache.org on 2017/09/11 15:03:30 UTC

svn commit: r1808040 - in /santuario/xml-security-cpp/trunk/xsec: transformers/TXFMXPath.cpp transformers/TXFMXPathFilter.cpp utils/XSECSafeBuffer.cpp utils/XSECSafeBuffer.hpp

Author: scantor
Date: Mon Sep 11 15:03:30 2017
New Revision: 1808040

URL: http://svn.apache.org/viewvc?rev=1808040&view=rev
Log:
safeBuffer strstr methods should return signed type

Modified:
    santuario/xml-security-cpp/trunk/xsec/transformers/TXFMXPath.cpp
    santuario/xml-security-cpp/trunk/xsec/transformers/TXFMXPathFilter.cpp
    santuario/xml-security-cpp/trunk/xsec/utils/XSECSafeBuffer.cpp
    santuario/xml-security-cpp/trunk/xsec/utils/XSECSafeBuffer.hpp

Modified: santuario/xml-security-cpp/trunk/xsec/transformers/TXFMXPath.cpp
URL: http://svn.apache.org/viewvc/santuario/xml-security-cpp/trunk/xsec/transformers/TXFMXPath.cpp?rev=1808040&r1=1808039&r2=1808040&view=diff
==============================================================================
--- santuario/xml-security-cpp/trunk/xsec/transformers/TXFMXPath.cpp (original)
+++ santuario/xml-security-cpp/trunk/xsec/transformers/TXFMXPath.cpp Mon Sep 11 15:03:30 2017
@@ -417,11 +417,10 @@ void TXFMXPath::evaluateExpr(DOMNode *h,
 
 		// THIS IS A KLUDGE AND SHOULD BE DONE BETTER
 
-		int offset = 0;
 		safeBuffer k(KLUDGE_PREFIX);
 		k.sbStrcatIn(":");
 
-		offset = inexpr.sbStrstr("here()");
+		XMLSSize_t offset = inexpr.sbStrstr("here()");
 
 		while (offset >= 0) {
 

Modified: santuario/xml-security-cpp/trunk/xsec/transformers/TXFMXPathFilter.cpp
URL: http://svn.apache.org/viewvc/santuario/xml-security-cpp/trunk/xsec/transformers/TXFMXPathFilter.cpp?rev=1808040&r1=1808039&r2=1808040&view=diff
==============================================================================
--- santuario/xml-security-cpp/trunk/xsec/transformers/TXFMXPathFilter.cpp (original)
+++ santuario/xml-security-cpp/trunk/xsec/transformers/TXFMXPathFilter.cpp Mon Sep 11 15:03:30 2017
@@ -249,7 +249,6 @@ XSECXPathNodeList * TXFMXPathFilter::eva
 
 		// THIS IS A KLUDGE AND SHOULD BE DONE BETTER
 
-		int offset = 0;
 		safeBuffer k(KLUDGE_PREFIX);
 		k.sbStrcatIn(":");
 
@@ -257,7 +256,7 @@ XSECXPathNodeList * TXFMXPathFilter::eva
 		safeBuffer exprSB;
 		exprSB << (*mp_formatter << expr->m_expr.rawXMLChBuffer());
 
-		offset = exprSB.sbStrstr("here()");
+		XMLSSize_t offset = exprSB.sbStrstr("here()");
 
 		while (offset >= 0) {
 

Modified: santuario/xml-security-cpp/trunk/xsec/utils/XSECSafeBuffer.cpp
URL: http://svn.apache.org/viewvc/santuario/xml-security-cpp/trunk/xsec/utils/XSECSafeBuffer.cpp?rev=1808040&r1=1808039&r2=1808040&view=diff
==============================================================================
--- santuario/xml-security-cpp/trunk/xsec/utils/XSECSafeBuffer.cpp (original)
+++ santuario/xml-security-cpp/trunk/xsec/utils/XSECSafeBuffer.cpp Mon Sep 11 15:03:30 2017
@@ -355,7 +355,7 @@ int safeBuffer::sbOffsetStrcmp(const cha
 
 }
 
-XMLSize_t safeBuffer::sbStrstr(const char * inStr) const {
+XMLSSize_t safeBuffer::sbStrstr(const char * inStr) const {
 
 	checkBufferType(BUFFER_CHAR);
 	const char* p = strstr((char *) buffer, inStr);
@@ -363,18 +363,18 @@ XMLSize_t safeBuffer::sbStrstr(const cha
 	if (p == NULL)
 		return -1;
 
-	XMLSize_t d = p - (char*) buffer;
-	if (d > bufferSize)
+	XMLSSize_t d = p - (char*) buffer;
+	if (d > bufferSize || d < 0)
 		return -1;
 
 	return d;
 
 }
 
-XMLSize_t safeBuffer::sbOffsetStrstr(const char * inStr, XMLSize_t offset) const {
+XMLSSize_t safeBuffer::sbOffsetStrstr(const char * inStr, XMLSize_t offset) const {
 
 	checkBufferType(BUFFER_CHAR);
-	XMLSize_t bl = (XMLSize_t) strlen((char *) buffer);
+	XMLSize_t bl = strlen((char *) buffer);
 
 	if (offset > bl)
 		return -1;
@@ -384,8 +384,8 @@ XMLSize_t safeBuffer::sbOffsetStrstr(con
 	if (p == NULL)
 		return -1;
 
-	XMLSize_t d = p - (char*) buffer;
-	if (d > bufferSize)
+	XMLSSize_t d = p - (char*) buffer;
+	if (d > bufferSize || d < 0)
 		return -1;
 
 	return d;

Modified: santuario/xml-security-cpp/trunk/xsec/utils/XSECSafeBuffer.hpp
URL: http://svn.apache.org/viewvc/santuario/xml-security-cpp/trunk/xsec/utils/XSECSafeBuffer.hpp?rev=1808040&r1=1808039&r2=1808040&view=diff
==============================================================================
--- santuario/xml-security-cpp/trunk/xsec/utils/XSECSafeBuffer.hpp (original)
+++ santuario/xml-security-cpp/trunk/xsec/utils/XSECSafeBuffer.hpp Mon Sep 11 15:03:30 2017
@@ -107,8 +107,8 @@ public:
     int sbStrcmp(const char * inStr) const;
     int sbStrcmp(const safeBuffer & inStr) const;
 
-    XMLSize_t sbStrstr(const char * inStr) const;
-    XMLSize_t sbOffsetStrstr(const char * inStr, XMLSize_t offset) const;
+    XMLSSize_t sbStrstr(const char * inStr) const;
+    XMLSSize_t sbOffsetStrstr(const char * inStr, XMLSize_t offset) const;
 
 	// XMLCh and char common functions
 	void sbStrlwr(void);		// Lowercase the string