Browse Source

Merge pull request #323 from pooleja/fix/ownable_error

Fix/ownable error - Silent transferOwnership Failure
Francisco Giordano 8 years ago
parent
commit
e9cf6dfb60
2 changed files with 9 additions and 8 deletions
  1. 2 3
      contracts/ownership/Ownable.sol
  2. 7 5
      test/Ownable.js

+ 2 - 3
contracts/ownership/Ownable.sol

@@ -33,9 +33,8 @@ contract Ownable {
    * @param newOwner The address to transfer ownership to.
    */
   function transferOwnership(address newOwner) onlyOwner {
-    if (newOwner != address(0)) {
-      owner = newOwner;
-    }
+    require(newOwner != address(0));      
+    owner = newOwner;
   }
 
 }

+ 7 - 5
test/Ownable.js

@@ -36,10 +36,12 @@ contract('Ownable', function(accounts) {
 
   it('should guard ownership against stuck state', async function() {
     let originalOwner = await ownable.owner();
-    await ownable.transferOwnership(null, {from: originalOwner});
-    let newOwner = await ownable.owner();
-
-    assert.equal(originalOwner, newOwner);
+    try {
+      await ownable.transferOwnership(null, {from: originalOwner});
+      assert.fail();
+    } catch(error) {
+      assertJump(error);
+    }
   });
 
-});
+});