summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Bourvon <tbourvon@mozilla.com>2018-04-10 21:11:02 +0200
committerTristan Bourvon <tbourvon@mozilla.com>2018-04-10 21:11:02 +0200
commit3aa70c90511307f5038bcded5ab05a37ece57132 (patch)
tree4e165ff514722e19452cb273d2da3564ef6cc166
parentb433dfc54eee9aaef2fd4cfbf1cfef1d637de0b3 (diff)
downloadnss-hg-3aa70c90511307f5038bcded5ab05a37ece57132.tar.gz
Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan
-rw-r--r--lib/mozpkix/include/pkix/Time.h5
-rw-r--r--lib/mozpkix/lib/pkixbuild.cpp10
-rw-r--r--lib/mozpkix/lib/pkixutil.h4
3 files changed, 14 insertions, 5 deletions
diff --git a/lib/mozpkix/include/pkix/Time.h b/lib/mozpkix/include/pkix/Time.h
index e997682b3..24c84d430 100644
--- a/lib/mozpkix/include/pkix/Time.h
+++ b/lib/mozpkix/include/pkix/Time.h
@@ -49,7 +49,10 @@ public:
// This will succeed, leaving the time uninitialized:
// Time x(Time::uninitialized);
enum Uninitialized { uninitialized };
- explicit Time(Uninitialized) { }
+ explicit Time(Uninitialized)
+ : elapsedSecondsAD{}
+ {
+ }
bool operator==(const Time& other) const
{
diff --git a/lib/mozpkix/lib/pkixbuild.cpp b/lib/mozpkix/lib/pkixbuild.cpp
index db65d6021..94f01d33a 100644
--- a/lib/mozpkix/lib/pkixbuild.cpp
+++ b/lib/mozpkix/lib/pkixbuild.cpp
@@ -47,11 +47,14 @@ TrustDomain::IssuerChecker::~IssuerChecker() { }
class PathBuildingStep final : public TrustDomain::IssuerChecker
{
public:
- PathBuildingStep(TrustDomain& aTrustDomain, const BackCert& aSubject,
- Time aTime, KeyPurposeId aRequiredEKUIfPresent,
+ PathBuildingStep(TrustDomain& aTrustDomain,
+ const BackCert& aSubject,
+ Time aTime,
+ KeyPurposeId aRequiredEKUIfPresent,
const CertPolicyId& aRequiredPolicy,
/*optional*/ const Input* aStapledOCSPResponse,
- unsigned int aSubCACount, Result aDeferredSubjectError,
+ unsigned int aSubCACount,
+ Result aDeferredSubjectError,
unsigned int& aBuildForwardCallBudget)
: trustDomain(aTrustDomain)
, subject(aSubject)
@@ -61,6 +64,7 @@ public:
, stapledOCSPResponse(aStapledOCSPResponse)
, subCACount(aSubCACount)
, deferredSubjectError(aDeferredSubjectError)
+ , subjectSignaturePublicKeyAlg{ static_cast<der::PublicKeyAlgorithm>(0) }
, result(Result::FATAL_ERROR_LIBRARY_FAILURE)
, resultWasSet(false)
, buildForwardCallBudget(aBuildForwardCallBudget)
diff --git a/lib/mozpkix/lib/pkixutil.h b/lib/mozpkix/lib/pkixutil.h
index c22ffbefe..3bde8f792 100644
--- a/lib/mozpkix/lib/pkixutil.h
+++ b/lib/mozpkix/lib/pkixutil.h
@@ -42,11 +42,13 @@ class BackCert final
{
public:
// certDER and childCert must be valid for the lifetime of BackCert.
- BackCert(Input aCertDER, EndEntityOrCA aEndEntityOrCA,
+ BackCert(Input aCertDER,
+ EndEntityOrCA aEndEntityOrCA,
const BackCert* aChildCert)
: der(aCertDER)
, endEntityOrCA(aEndEntityOrCA)
, childCert(aChildCert)
+ , version{ static_cast<der::Version>(0) }
{
}