Omniscia Alliance Block Audit

GovernanceFacet Static Analysis Findings

GovernanceFacet Static Analysis Findings

GFT-01S: Inexistent Zero Address Check

Description:

The linked function accepts an address argument but does not properly sanitize it against the zero-address.

Example:

contracts/facets/GovernanceFacet.sol
27/**
28 * @notice Adds/removes a member account
29 * @param account_ The account to be modified
30 * @param status_ Whether the account will be set as member or not
31 * @param signatures_ The signatures of the validators authorizing this member update
32 */
33function updateMember(address account_, bool status_, bytes[] calldata signatures_)
34 onlyConsensusNonce(computeMemberUpdateMessage(account_, status_), signatures_)
35 external override
36{
37 LibGovernance.updateMember(account_, status_);
38 emit MemberUpdated(account_, status_);
39}

Recommendation:

We advise such sanitization to be introduced to prevent misconfiguration of the contract.

Alleviation:

A zero-address check was properly introduced to the linked function. We should note that an error message does not accompany it and we advise it to be specified so, however, we consider this exhibit dealt with.