From: Felix Dörre Date: Fri, 2 Dec 2016 23:33:53 +0000 (+0000) Subject: upd: clean up valgrind stuff X-Git-Url: https://code.wpia.club/?p=cassiopeia.git;a=commitdiff_plain;h=e290d5b161394e00585e85a4c8cff37605eb81ed upd: clean up valgrind stuff --- diff --git a/src/crypto/CRL.cpp b/src/crypto/CRL.cpp index f7aa6a5..a26c786 100644 --- a/src/crypto/CRL.cpp +++ b/src/crypto/CRL.cpp @@ -139,13 +139,17 @@ void CRL::setSignature( std::string signature ) { ASN1_BIT_STRING *sig = d2i_ASN1_BIT_STRING( NULL, &buffer, signature.size() + data - buffer ); ASN1_TIME *a1 = d2i_ASN1_TIME( NULL, &buffer, signature.size() + data - buffer ); ASN1_TIME *a2 = d2i_ASN1_TIME( NULL, &buffer, signature.size() + data - buffer ); + auto tmp = *palg; *palg = *alg; + *alg = tmp; + auto tmp2 = *psig; *psig = *sig; + *sig = tmp2; X509_CRL_set1_lastUpdate( crl.get(), a1); X509_CRL_set1_nextUpdate( crl.get(), a2); - //X509_ALGOR_free(alg); - //ASN1_BIT_STRING_free(sig); + X509_ALGOR_free(alg); + ASN1_BIT_STRING_free(sig); ASN1_TIME_free(a1); ASN1_TIME_free(a2); } diff --git a/src/crypto/sslUtil.cpp b/src/crypto/sslUtil.cpp index 3b63769..a3432ea 100644 --- a/src/crypto/sslUtil.cpp +++ b/src/crypto/sslUtil.cpp @@ -194,7 +194,8 @@ CAConfig::CAConfig( const std::string& name ) : path( "ca/" + name ), name( name ca = loadX509FromFile( path + "/ca.crt" ); caKey = loadPkeyFromFile( path + "/ca.key" ); ASN1_TIME* tm = X509_get_notBefore( ca.get() ); - notBefore = std::shared_ptr( tm, ASN1_TIME_free ); + auto ca0 = ca; + notBefore = std::shared_ptr( tm, [ca0](auto p){(void)p;} ); std::size_t pos = name.find("_"); if (pos == std::string::npos) { throw new std::invalid_argument("ca name: " + name + " is malformed."); diff --git a/src/util.cpp b/src/util.cpp index 30f87b7..8703594 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -96,6 +96,10 @@ std::pair parseDate( const std::string& date ) { t.tm_year = std::stoi( date.substr( 0, 4 ) ) - 1900; t.tm_mon = std::stoi( date.substr( 5, 2 ) ) - 1; t.tm_mday = std::stoi( date.substr( 8, 2 ) ); + t.tm_wday = 0; /* Day of the week (0-6, Sunday = 0) */ + t.tm_yday = 0; /* Day in the year (0-365, 1 Jan = 0) */ + t.tm_isdst = 0; /* Daylight saving time */ + setenv( "TZ", "UTC", 1 ); tzset(); std::time_t res = mktime( &t ); diff --git a/test/src/bioWrapper.cpp b/test/src/bioWrapper.cpp index aaf3ecc..1f6d705 100644 --- a/test/src/bioWrapper.cpp +++ b/test/src/bioWrapper.cpp @@ -40,7 +40,8 @@ const char* OpensslBIO1::getName() { BOOST_AUTO_TEST_SUITE( TestBioWrapper ) BOOST_AUTO_TEST_CASE( BasicCalls ) { - std::shared_ptr n( BIO_new( toBio() ), BIO_free ); + std::shared_ptr m(toBio(), BIO_meth_free); + std::shared_ptr n( BIO_new( m.get() ), BIO_free ); OpensslBIO* o = new OpensslBIOWrapper( n ); OpensslBIO1* data = ( OpensslBIO1* ) n->ptr;