diff --git a/contracts/SecurityTokenRegistry.sol b/contracts/SecurityTokenRegistry.sol index 7d24793f3..d13fbb2b6 100644 --- a/contracts/SecurityTokenRegistry.sol +++ b/contracts/SecurityTokenRegistry.sol @@ -427,10 +427,18 @@ contract SecurityTokenRegistry is ISecurityTokenRegistry, EternalStorage { uint counter = 0; // accessing the data structure userTotickers[_owner].length bytes32[] memory tickers = getArrayBytes32(Encoder.getKey("userToTickers", _owner)); - bytes32[] memory tempList = new bytes32[](tickers.length); for (uint i = 0; i < tickers.length; i++) { string memory ticker = Util.bytes32ToString(tickers[i]); /*solium-disable-next-line security/no-block-members*/ + if (getUint(Encoder.getKey("registeredTickers_expiryDate", ticker)) >= now || _tickerStatus(ticker)) { + counter ++; + } + } + bytes32[] memory tempList = new bytes32[](counter); + counter = 0; + for (i = 0; i < tickers.length; i++) { + ticker = Util.bytes32ToString(tickers[i]); + /*solium-disable-next-line security/no-block-members*/ if (getUint(Encoder.getKey("registeredTickers_expiryDate", ticker)) >= now || _tickerStatus(ticker)) { tempList[counter] = tickers[i]; counter ++; diff --git a/test/n_security_token_registry.js b/test/n_security_token_registry.js index ef6b80c51..de8b7d733 100644 --- a/test/n_security_token_registry.js +++ b/test/n_security_token_registry.js @@ -993,6 +993,7 @@ contract("SecurityTokenRegistry", accounts => { it("Should get the tickers by owner", async () => { let tickersList = await I_STRProxied.getTickersByOwner.call(token_owner); + console.log(tickersList); assert.equal(tickersList.length, 4); let tickersListArray = await I_STRProxied.getTickersByOwner.call(account_temp); console.log(tickersListArray);