xmlsecurityengine/xmlseccrypto/src/xmlsecc_x509.cpp
branchRCL_3
changeset 12 d10d750052f0
parent 8 e65204f75c47
child 20 889504eac4fb
--- a/xmlsecurityengine/xmlseccrypto/src/xmlsecc_x509.cpp	Thu Apr 01 00:31:02 2010 +0300
+++ b/xmlsecurityengine/xmlseccrypto/src/xmlsecc_x509.cpp	Tue Apr 27 18:31:15 2010 +0300
@@ -577,6 +577,7 @@
     size = xmlSecSymbianCryptoKeyDataX509GetCertsSize(src);
     for(pos = 0; pos < size; ++pos) {
 	certSrc = xmlSecSymbianCryptoKeyDataX509GetCert(src, pos);
+	certDst = xmlSecSymbianCryptoKeyDataX509GetCert(dst, pos);
 	if(!certSrc) {
 	    xmlSecError(XMLSEC_ERRORS_HERE,
 			xmlSecErrorsSafeString(xmlSecKeyDataGetName(src)),
@@ -610,6 +611,7 @@
     size = xmlSecSymbianCryptoKeyDataX509GetCrlsSize(src);
     for(pos = 0; pos < size; ++pos) {
 	crlSrc = xmlSecSymbianCryptoKeyDataX509GetCrl(src, pos);
+	crlDst =xmlSecSymbianCryptoKeyDataX509GetCrl(dst, pos);
 	if(!crlSrc) {
 	    xmlSecError(XMLSEC_ERRORS_HERE,
 			xmlSecErrorsSafeString(xmlSecKeyDataGetName(src)),
@@ -618,7 +620,6 @@
 			"pos=%d", pos);
 	    return(-1);
 	}
-	
 	if(!crlDst) {
 	    xmlSecError(XMLSEC_ERRORS_HERE,
 			xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
@@ -1106,8 +1107,7 @@
     xmlSecKeyDataStorePtr x509Store;
     xmlChar* subject;
     X509* cert;
-    X509* cert2 = NULL;
-    int ret;
+    //X509* cert2 = NULL;
     
     xmlSecAssert2(xmlSecKeyDataCheckId(data, xmlSecSymbianCryptoKeyDataX509Id), -1);
     xmlSecAssert2(node, -1);
@@ -1142,8 +1142,6 @@
 
     cert = xmlSecSymbianCryptoX509StoreFindCert(x509Store, subject, NULL, NULL, NULL, keyInfoCtx);
     if(!cert){
-	xmlFree(subject);
-
 	if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT) != 0) {
 	    xmlSecError(XMLSEC_ERRORS_HERE,
 		        xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
@@ -1151,11 +1149,15 @@
 			XMLSEC_ERRORS_R_CERT_NOT_FOUND,
 			"subject=%s", 
 			xmlSecErrorsSafeString(subject));
+	    xmlFree(subject);
 	    return(-1);
 	}
+	xmlFree(subject);
 	return(0);
     }
-
+    
+    //dead error condition
+    /*
     if(!cert2) {
 	xmlSecError(XMLSEC_ERRORS_HERE,
 		    xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
@@ -1176,7 +1178,7 @@
 	xmlFree(subject);
 	return(-1);
     }
-    
+    */
     xmlFree(subject);
     return(0);
 }
@@ -1225,8 +1227,7 @@
     xmlChar *issuerName;
     xmlChar *issuerSerial;    
     X509* cert;
-    X509* cert2 = NULL;
-    int ret;
+    //X509* cert2 = NULL;
 
     xmlSecAssert2(xmlSecKeyDataCheckId(data, xmlSecSymbianCryptoKeyDataX509Id), -1);
     xmlSecAssert2(node, -1);
@@ -1320,23 +1321,27 @@
                                                             issuerSerial, 
                                                             NULL, 
                                                             keyInfoCtx);
-    if(!cert){
-	xmlFree(issuerSerial);
-	xmlFree(issuerName);
-
-	if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT) != 0) {
-	    xmlSecError(XMLSEC_ERRORS_HERE,
+    if(!cert)
+        {
+        if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT) != 0)
+            {
+            xmlSecError(XMLSEC_ERRORS_HERE,
 		        xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
 			NULL,
 			XMLSEC_ERRORS_R_CERT_NOT_FOUND,
 			"issuerName=%s;issuerSerial=%s",
 		        xmlSecErrorsSafeString(issuerName), 
 			xmlSecErrorsSafeString(issuerSerial));
-	    return(-1);
-	}
-	return(0);    
-    }
+            xmlFree(issuerSerial);
+            xmlFree(issuerName);
+            return(-1);
+            }
+		xmlFree(issuerSerial);
+        xmlFree(issuerName);
+        return(0);  
+        }
 
+    /*
     if(!cert2) {
 	xmlSecError(XMLSEC_ERRORS_HERE,
 		    xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
@@ -1359,7 +1364,7 @@
 	xmlFree(issuerName);
 	return(-1);
     }
-    
+    */
     xmlFree(issuerSerial);
     xmlFree(issuerName);
     return(0);
@@ -1410,8 +1415,8 @@
 		    xmlSecErrorsSafeString(xmlSecNodeX509SerialNumber));
 	return(-1);
     }
-
-    /* write data */
+    /*
+    //write data 
     if(!buf) {
 	xmlSecError(XMLSEC_ERRORS_HERE,
 		    NULL,
@@ -1420,9 +1425,7 @@
 		    XMLSEC_ERRORS_NO_MESSAGE);
 	return(-1);
     }
-    xmlNodeSetContent(issuerNameNode, buf);
-    xmlFree(buf);
-
+        
     if(!buf) {
 	xmlSecError(XMLSEC_ERRORS_HERE,
 		    NULL,
@@ -1431,6 +1434,8 @@
 		    XMLSEC_ERRORS_NO_MESSAGE);
 	return(-1);
     }
+	*/
+	xmlNodeSetContent(issuerNameNode, buf);
     xmlNodeSetContent(issuerNumberNode, buf);
     xmlFree(buf);
 
@@ -1445,8 +1450,6 @@
     xmlSecKeyDataStorePtr x509Store;
     xmlChar* ski;
     X509* cert;
-    X509* cert2 = NULL;
-    int ret;
     
     xmlSecAssert2(xmlSecKeyDataCheckId(data, xmlSecSymbianCryptoKeyDataX509Id), -1);
     xmlSecAssert2(node, -1);
@@ -1482,8 +1485,6 @@
 
     cert = xmlSecSymbianCryptoX509StoreFindCert(x509Store, NULL, NULL, NULL, ski, keyInfoCtx);
     if(!cert){
-	xmlFree(ski);
-
 	if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT) != 0) {
 	    xmlSecError(XMLSEC_ERRORS_HERE,
 		        xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
@@ -1491,11 +1492,15 @@
 		        XMLSEC_ERRORS_R_CERT_NOT_FOUND,
 			"ski=%s", 
 			xmlSecErrorsSafeString(ski));
+	    xmlFree(ski);
 	    return(-1);
 	}
+	xmlFree(ski);
 	return(0);
     }
-
+ 
+//dead error condition 
+/*
     if(!cert2) {
 	xmlSecError(XMLSEC_ERRORS_HERE,
 		    xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
@@ -1505,7 +1510,7 @@
 	xmlFree(ski);
 	return(-1);
     }
-
+ 
     ret = xmlSecSymbianCryptoKeyDataX509AdoptCert(data, cert2);
     if(ret < 0) {
 	xmlSecError(XMLSEC_ERRORS_HERE,
@@ -1516,6 +1521,7 @@
 	xmlFree(ski);
 	return(-1);
     }
+    */
     
     xmlFree(ski);
     return(0);
@@ -2440,8 +2446,10 @@
 		    "xmlSecSymbianCryptoKeyDataX509VerifyAndExtractKey",
 		    XMLSEC_ERRORS_R_XMLSEC_FAILED,
 		    XMLSEC_ERRORS_NO_MESSAGE);
+	X509_free(cert);
 	return(-1);
     }
+    X509_free(cert);
     return(0);
 }