Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan

This commit is contained in:
Tristan Bourvon
2018-04-10 21:11:02 +02:00
parent 6ca6b03ffd
commit 6095241db8
536 changed files with 5457 additions and 2818 deletions

View File

@@ -520,18 +520,28 @@ class AesTask : public ReturnArrayBufferViewTask,
public DeferredData
{
public:
AesTask(JSContext* aCx, const ObjectOrString& aAlgorithm,
CryptoKey& aKey, bool aEncrypt)
: mSymKey(aKey.GetSymKey())
AesTask(JSContext* aCx,
const ObjectOrString& aAlgorithm,
CryptoKey& aKey,
bool aEncrypt)
: mMechanism{}
, mSymKey(aKey.GetSymKey())
, mTagLength{ '\0' }
, mCounterLength{ '\0' }
, mEncrypt(aEncrypt)
{
Init(aCx, aAlgorithm, aKey, aEncrypt);
}
AesTask(JSContext* aCx, const ObjectOrString& aAlgorithm,
CryptoKey& aKey, const CryptoOperationData& aData,
AesTask(JSContext* aCx,
const ObjectOrString& aAlgorithm,
CryptoKey& aKey,
const CryptoOperationData& aData,
bool aEncrypt)
: mSymKey(aKey.GetSymKey())
: mMechanism{}
, mSymKey(aKey.GetSymKey())
, mTagLength{ '\0' }
, mCounterLength{ '\0' }
, mEncrypt(aEncrypt)
{
Init(aCx, aAlgorithm, aKey, aEncrypt);
@@ -1682,18 +1692,25 @@ private:
class ImportRsaKeyTask : public ImportKeyTask
{
public:
ImportRsaKeyTask(nsIGlobalObject* aGlobal, JSContext* aCx,
const nsAString& aFormat,
const ObjectOrString& aAlgorithm, bool aExtractable,
const Sequence<nsString>& aKeyUsages)
ImportRsaKeyTask(nsIGlobalObject* aGlobal,
JSContext* aCx,
const nsAString& aFormat,
const ObjectOrString& aAlgorithm,
bool aExtractable,
const Sequence<nsString>& aKeyUsages)
: mModulusLength{}
{
Init(aGlobal, aCx, aFormat, aAlgorithm, aExtractable, aKeyUsages);
}
ImportRsaKeyTask(nsIGlobalObject* aGlobal, JSContext* aCx,
const nsAString& aFormat, JS::Handle<JSObject*> aKeyData,
const ObjectOrString& aAlgorithm, bool aExtractable,
const Sequence<nsString>& aKeyUsages)
ImportRsaKeyTask(nsIGlobalObject* aGlobal,
JSContext* aCx,
const nsAString& aFormat,
JS::Handle<JSObject*> aKeyData,
const ObjectOrString& aAlgorithm,
bool aExtractable,
const Sequence<nsString>& aKeyUsages)
: mModulusLength{}
{
Init(aGlobal, aCx, aFormat, aAlgorithm, aExtractable, aKeyUsages);
if (NS_FAILED(mEarlyRv)) {
@@ -2360,9 +2377,15 @@ private:
};
GenerateAsymmetricKeyTask::GenerateAsymmetricKeyTask(
nsIGlobalObject* aGlobal, JSContext* aCx, const ObjectOrString& aAlgorithm,
bool aExtractable, const Sequence<nsString>& aKeyUsages)
nsIGlobalObject* aGlobal,
JSContext* aCx,
const ObjectOrString& aAlgorithm,
bool aExtractable,
const Sequence<nsString>& aKeyUsages)
: mKeyPair(new CryptoKeyPair())
, mMechanism{}
, mRsaParams{}
, mDhParams{}
{
mArena = UniquePLArenaPool(PORT_NewArena(DER_DEFAULT_CHUNKSIZE));
if (!mArena) {
@@ -2601,15 +2624,23 @@ class DeriveHkdfBitsTask : public ReturnArrayBufferViewTask
{
public:
DeriveHkdfBitsTask(JSContext* aCx,
const ObjectOrString& aAlgorithm, CryptoKey& aKey, uint32_t aLength)
const ObjectOrString& aAlgorithm,
CryptoKey& aKey,
uint32_t aLength)
: mSymKey(aKey.GetSymKey())
, mMechanism{}
{
Init(aCx, aAlgorithm, aKey, aLength);
}
DeriveHkdfBitsTask(JSContext* aCx, const ObjectOrString& aAlgorithm,
CryptoKey& aKey, const ObjectOrString& aTargetAlgorithm)
: mSymKey(aKey.GetSymKey())
DeriveHkdfBitsTask(JSContext* aCx,
const ObjectOrString& aAlgorithm,
CryptoKey& aKey,
const ObjectOrString& aTargetAlgorithm)
: mLengthInBits{}
, mLengthInBytes{}
, mSymKey(aKey.GetSymKey())
, mMechanism{}
{
size_t length;
mEarlyRv = GetKeyLengthForAlgorithm(aCx, aTargetAlgorithm, length);
@@ -2751,15 +2782,23 @@ class DerivePbkdfBitsTask : public ReturnArrayBufferViewTask
{
public:
DerivePbkdfBitsTask(JSContext* aCx,
const ObjectOrString& aAlgorithm, CryptoKey& aKey, uint32_t aLength)
const ObjectOrString& aAlgorithm,
CryptoKey& aKey,
uint32_t aLength)
: mSymKey(aKey.GetSymKey())
, mHashOidTag{ SEC_OID_UNKNOWN }
{
Init(aCx, aAlgorithm, aKey, aLength);
}
DerivePbkdfBitsTask(JSContext* aCx, const ObjectOrString& aAlgorithm,
CryptoKey& aKey, const ObjectOrString& aTargetAlgorithm)
: mSymKey(aKey.GetSymKey())
DerivePbkdfBitsTask(JSContext* aCx,
const ObjectOrString& aAlgorithm,
CryptoKey& aKey,
const ObjectOrString& aTargetAlgorithm)
: mLength{}
, mIterations{}
, mSymKey(aKey.GetSymKey())
, mHashOidTag{ SEC_OID_UNKNOWN }
{
size_t length;
mEarlyRv = GetKeyLengthForAlgorithm(aCx, aTargetAlgorithm, length);