From 201683afe4596ae32f7b1ea12dfca52995d59f9d Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Sun, 10 Nov 2019 19:11:03 -0500 Subject: Bug 1487082 - Resolve potential for build bustage regarding bad implicit conversion constructors * Part 1: make conversion CTORs explicit. Minor tweaks to conform with new(ish) static analysis rule which flags up implicit single-argument conversion constructors. * Part 2: fix a couple of double-mRefCnt declaration errors. * Part 3: Fix unsafe use of NS_ConvertASCIItoUTF16(). Tag #1273 --- db/mork/src/morkAtom.h | 2 +- db/mork/src/morkBead.h | 2 +- db/mork/src/morkDeque.h | 6 +++--- db/mork/src/morkFactory.h | 2 +- db/mork/src/morkNode.h | 4 ++-- db/mork/src/morkParser.cpp | 2 +- db/mork/src/morkRow.h | 2 +- 7 files changed, 10 insertions(+), 10 deletions(-) (limited to 'db') diff --git a/db/mork/src/morkAtom.h b/db/mork/src/morkAtom.h index 68d4828de..fe229e4c6 100644 --- a/db/mork/src/morkAtom.h +++ b/db/mork/src/morkAtom.h @@ -284,7 +284,7 @@ public: public: // empty construction does nothing morkWeeBookAtom() { } - morkWeeBookAtom(mork_aid inAid); + explicit morkWeeBookAtom(mork_aid inAid); void InitWeeBookAtom(morkEnv* ev, const morkBuf& inBuf, morkAtomSpace* ioSpace, mork_aid inAid); diff --git a/db/mork/src/morkBead.h b/db/mork/src/morkBead.h index 83ceef2f4..df86c40ad 100644 --- a/db/mork/src/morkBead.h +++ b/db/mork/src/morkBead.h @@ -62,7 +62,7 @@ public: // morkNode virtual methods virtual ~morkBead(); // assert that CloseBead() executed earlier public: // special case for stack construction for map usage: - morkBead(mork_color inBeadColor); // stack-based bead instance + explicit morkBead(mork_color inBeadColor); // stack-based bead instance protected: // special case for morkObject: morkBead(const morkUsage& inUsage, nsIMdbHeap* ioHeap, diff --git a/db/mork/src/morkDeque.h b/db/mork/src/morkDeque.h index 4375ecf02..ad38cdbe2 100644 --- a/db/mork/src/morkDeque.h +++ b/db/mork/src/morkDeque.h @@ -41,9 +41,9 @@ public: morkNext* mNext_Link; public: - morkNext(int inZero) : mNext_Link( 0 ) { } + explicit morkNext(int inZero) : mNext_Link( 0 ) { } - morkNext(morkNext* ioLink) : mNext_Link( ioLink ) { } + explicit morkNext(morkNext* ioLink) : mNext_Link( ioLink ) { } morkNext(); // mNext_Link( 0 ), { } @@ -118,7 +118,7 @@ public: morkLink* mLink_Prev; public: - morkLink(int inZero) : mLink_Next( 0 ), mLink_Prev( 0 ) { } + explicit morkLink(int inZero) : mLink_Next( 0 ), mLink_Prev( 0 ) { } morkLink(); // mLink_Next( 0 ), mLink_Prev( 0 ) { } diff --git a/db/mork/src/morkFactory.h b/db/mork/src/morkFactory.h index 544758f4c..f6f045ae0 100644 --- a/db/mork/src/morkFactory.h +++ b/db/mork/src/morkFactory.h @@ -160,7 +160,7 @@ public: // morkFactory virtual methods public: // morkYarn construction & destruction morkFactory(); // uses orkinHeap - morkFactory(nsIMdbHeap* ioHeap); // caller supplied heap + explicit morkFactory(nsIMdbHeap* ioHeap); // caller supplied heap morkFactory(morkEnv* ev, const morkUsage& inUsage, nsIMdbHeap* ioHeap); void CloseFactory(morkEnv* ev); // called by CloseMorkNode(); diff --git a/db/mork/src/morkNode.h b/db/mork/src/morkNode.h index 0bed96fd2..02dbbb229 100644 --- a/db/mork/src/morkNode.h +++ b/db/mork/src/morkNode.h @@ -56,7 +56,7 @@ public: mork_usage mUsage_Code; // kHeap, kStack, kMember, or kGhost public: - morkUsage(mork_usage inCode); + explicit morkUsage(mork_usage inCode); morkUsage(); // does nothing except maybe call EnsureReadyStaticUsage() void InitUsage( mork_usage inCode) @@ -163,7 +163,7 @@ public: // morkNode memory management operators protected: // construction without an anv needed for first env constructed: morkNode(const morkUsage& inUsage, nsIMdbHeap* ioHeap); - morkNode(mork_usage inCode); // usage == inCode, heap == nil + explicit morkNode(mork_usage inCode); // usage == inCode, heap == nil // { ===== begin basic node interface ===== public: // morkNode virtual methods diff --git a/db/mork/src/morkParser.cpp b/db/mork/src/morkParser.cpp index 65f8d6c66..667a597fd 100644 --- a/db/mork/src/morkParser.cpp +++ b/db/mork/src/morkParser.cpp @@ -119,7 +119,7 @@ morkParser::morkParser(morkEnv* ev, , mParser_ColumnSpool(ev, &mParser_ColumnCoil) , mParser_StringSpool(ev, &mParser_StringCoil) -, mParser_MidYarn(ev, morkUsage_kMember, ioSlotHeap) +, mParser_MidYarn(ev, morkUsage(morkUsage_kMember), ioSlotHeap) { if ( inBytesPerParseSegment < morkParser_kMinGranularity ) inBytesPerParseSegment = morkParser_kMinGranularity; diff --git a/db/mork/src/morkRow.h b/db/mork/src/morkRow.h index 31fa20609..d33c707e5 100644 --- a/db/mork/src/morkRow.h +++ b/db/mork/src/morkRow.h @@ -95,7 +95,7 @@ public: // flags bit twiddling public: // other row methods morkRow( ) { } - morkRow(const mdbOid* inOid) :mRow_Oid(*inOid) { } + explicit morkRow(const mdbOid* inOid) :mRow_Oid(*inOid) { } void InitRow(morkEnv* ev, const mdbOid* inOid, morkRowSpace* ioSpace, mork_size inLength, morkPool* ioPool); // if inLength is nonzero, cells will be allocated from ioPool -- cgit v1.2.3