Bug 1431204 - Only addref the mutator if is not null draft
authorValentin Gosu <valentin.gosu@gmail.com>
Fri, 19 Jan 2018 15:26:03 +0100
changeset 722679 80f378b91c09bde599473e3a22ac91ac71512156
parent 722678 c31307843debb8d66e203f0d024434412b748a5d
child 722680 4dd86b893d6fa1901138f51e29f7331dd80171b6
push id96195
push uservalentin.gosu@gmail.com
push dateFri, 19 Jan 2018 14:28:43 +0000
bugs1431204
milestone59.0a1
Bug 1431204 - Only addref the mutator if is not null MozReview-Commit-ID: 94VsIsLxx2T
caps/NullPrincipalURI.h
image/decoders/icon/nsIconURI.h
--- a/caps/NullPrincipalURI.h
+++ b/caps/NullPrincipalURI.h
@@ -73,17 +73,20 @@ public:
     NS_IMETHOD Finalize(nsIURI** aURI) override
     {
       mURI.forget(aURI);
       return NS_OK;
     }
 
     NS_IMETHOD SetSpec(const nsACString & aSpec, nsIURIMutator** aMutator) override
     {
-      NS_ADDREF(*aMutator = this);
+      if (aMutator) {
+        nsCOMPtr<nsIURIMutator> mutator = this;
+        mutator.forget(aMutator);
+      }
       return NS_ERROR_NOT_IMPLEMENTED;
     }
 
     explicit Mutator() { }
   private:
     virtual ~Mutator() { }
 
     friend class NullPrincipalURI;
--- a/image/decoders/icon/nsIconURI.h
+++ b/image/decoders/icon/nsIconURI.h
@@ -64,18 +64,22 @@ public:
     }
 
     NS_IMETHOD Finalize(nsIURI** aURI) override
     {
       mURI.forget(aURI);
       return NS_OK;
     }
 
-    NS_IMETHOD SetSpec(const nsACString & aSpec, nsIURIMutator** aMutator) override {
-      NS_ADDREF(*aMutator = this);
+    NS_IMETHOD SetSpec(const nsACString & aSpec, nsIURIMutator** aMutator) override
+    {
+      if (aMutator) {
+        nsCOMPtr<nsIURIMutator> mutator = this;
+        mutator.forget(aMutator);
+      }
       return InitFromSpec(aSpec);
     }
 
     explicit Mutator() { }
   private:
     virtual ~Mutator() { }
 
     friend class nsMozIconURI;