Good catch! Thanks! Fixed.

Aleksey

On 2/5/11 8:39 PM, André de Souza Pinto wrote:
Hello Alexsey Sanin,

Please analyse this code, I guess this is wrong
but I'm not sure about this.
--------------------------------------------------------------------------------
--- a/src/openssl/app.c
+++ b/src/openssl/app.c
@@ -771,13 +771,14 @@ xmlSecOpenSSLAppPkcs12LoadBIO(BIO* bio, const
char *pwd, for(i = 0; i<  sk_X509_num(chain); ++i) {
          xmlSecAssert2(sk_X509_value(chain, i), NULL);

-        if(X509_cmp(sk_X509_value(chain, i), cert) != 0) {
+        ret = X509_cmp(sk_X509_value(chain, i), cert);
+        if(ret == 0) {
              has_cert = 1;
              break;
          }
      }

-    if(has_cert != 0) {
+    if(has_cert == 0) {
          tmpcert = X509_dup(cert);
          if(tmpcert == NULL) {
              xmlSecError(XMLSEC_ERRORS_HERE,
--------------------------------------------------------------------------------

I change src/openssl/app.c because cert was not returning when calling
the following code:

key = xmlSecCryptoAppKeyLoad(cert_file, xmlSecKeyDataFormatPkcs12,
        password, xmlSecCryptoAppGetDefaultPwdCallback(),
(void*)cert_file);

I'm using git clone git://git.gnome.org/xmlsec

Thanks for your attention

by André de Souza Pinto
 From ASP Informática Ltda
Caxias do Sul / RS / Brasil
_______________________________________________
xmlsec mailing list
[email protected]
http://www.aleksey.com/mailman/listinfo/xmlsec

Reply via email to