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
This commit is contained in:
Matt A. Tobin 2019-11-10 19:11:03 -05:00 • committed by Roy Tam
commit eaac1c967d
57 changed files with 71 additions and 69 deletions

View file

@ -242,7 +242,7 @@ NS_IMETHODIMP nsAbBSDirectory::DeleteDirectory(nsIAbDirectory *directory)
struct GetDirectories
{
GetDirectories(DIR_Server* aServer) : mServer(aServer) { }
explicit GetDirectories(DIR_Server* aServer) : mServer(aServer) { }
nsCOMArray<nsIAbDirectory> directories;
DIR_Server* mServer;

View file

@ -28,7 +28,7 @@ class nsAbMDBDirProperty: public nsIAbMDBDirectory, public nsAbDirProperty
public:
nsAbMDBDirProperty(void);
NS_DECL_ISUPPORTS
NS_DECL_ISUPPORTS_INHERITED
NS_DECL_NSIABMDBDIRECTORY
protected:

View file

@ -15,7 +15,7 @@
class CharPtrArrayGuard
{
public:
CharPtrArrayGuard (bool freeElements = true) :
explicit CharPtrArrayGuard (bool freeElements = true) :
mFreeElements (freeElements),
mArray (0),
mSize (0)
@ -80,7 +80,7 @@ private:
class PRUnicharPtrArrayGuard
{
public:
PRUnicharPtrArrayGuard (bool freeElements = true) :
explicit PRUnicharPtrArrayGuard (bool freeElements = true) :
mFreeElements (freeElements),
mArray (0),
mSize (0)

View file

@ -2507,7 +2507,7 @@ public:
NS_DECL_NSIADDRDBLISTENER
// nsAddrDBEnumerator methods:
nsAddrDBEnumerator(nsAddrDatabase* aDb);
explicit nsAddrDBEnumerator(nsAddrDatabase* aDb);
void Clear();
protected:
virtual ~nsAddrDBEnumerator();