From 3a1f5a7c367e45d8f0784ff60c5d92a97b88e9c0 Mon Sep 17 00:00:00 2001 From: wangdong Date: Mon, 23 Apr 2018 09:48:33 -0400 Subject: [PATCH] more security fix --- contracts/TokenTransferDelegate.sol | 6 +++--- contracts/TokenTransferDelegateImpl.sol | 2 +- contracts/lib/MathUint.sol | 4 ++-- contracts/lib/MultihashUtil.sol | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/contracts/TokenTransferDelegate.sol b/contracts/TokenTransferDelegate.sol index 5c4c0b50..df9b262b 100644 --- a/contracts/TokenTransferDelegate.sol +++ b/contracts/TokenTransferDelegate.sol @@ -82,8 +82,8 @@ contract TokenTransferDelegate { external; function batchUpdateHistoryAndTransferTokens( - address lrcTokenAddress, - address minerFeeRecipient, + address lrcTokenAddress, + address minerFeeRecipient, bytes32[] historyBatch, bytes32[] transferBatch ) @@ -122,7 +122,7 @@ contract TokenTransferDelegate { function checkCutoffsBatch( address[] owners, bytes20[] tradingPairs, - uint[] validSince + uint[] validSince ) external view; diff --git a/contracts/TokenTransferDelegateImpl.sol b/contracts/TokenTransferDelegateImpl.sol index 30f407ff..583c5360 100644 --- a/contracts/TokenTransferDelegateImpl.sol +++ b/contracts/TokenTransferDelegateImpl.sol @@ -282,7 +282,7 @@ contract TokenTransferDelegateImpl is TokenTransferDelegate, Claimable { } uint walletFee = (wallet == 0x0) ? 0 : fee.mul(walletSplitPercentage) / 100; - uint minerFee = fee - walletFee; + uint minerFee = fee.sub(walletFee); if (walletFee > 0 && wallet != owner) { require( diff --git a/contracts/lib/MathUint.sol b/contracts/lib/MathUint.sol index 826de10e..437d806d 100644 --- a/contracts/lib/MathUint.sol +++ b/contracts/lib/MathUint.sol @@ -86,7 +86,7 @@ library MathUint { uint avg = 0; for (uint i = 0; i < len; i++) { - avg += arr[i]; + avg = add(avg, arr[i]); } avg = avg / len; @@ -101,7 +101,7 @@ library MathUint { for (uint i = 0; i < len; i++) { item = arr[i]; s = item > avg ? item - avg : avg - item; - cvs += mul(s, s); + cvs = add(cvs, mul(s, s)); } return ((mul(mul(cvs, scale), scale) / avg) / avg) / (len - 1); diff --git a/contracts/lib/MultihashUtil.sol b/contracts/lib/MultihashUtil.sol index 029096af..6e504223 100644 --- a/contracts/lib/MultihashUtil.sol +++ b/contracts/lib/MultihashUtil.sol @@ -49,8 +49,8 @@ library MultihashUtil { require( signer == ecrecover( keccak256( - SIG_PREFIX, - plaintext + SIG_PREFIX, + plaintext ), uint8(multihash[2]), BytesUtil.bytesToBytes32(multihash, 3),