    public function clean()
    {
        $dataSourceConfig = ConnectionManager::getDataSource('default')->config;
        $dataSource = $dataSourceConfig['datasource'];
        $expire = date('Y-m-d H:i:s', time());
        if ($dataSource == 'Database/Mysql') {
            $sql = 'DELETE FROM bruteforces WHERE `expire` <= "' . $expire . '";';
        } elseif ($dataSource == 'Database/Postgres') {
            $sql = 'DELETE FROM bruteforces WHERE expire <= "' . $expire . '";';
        }
        $this->query($sql);
    }
The software checks the state of a resource before using that resource, but the resource's state can change between the check and the use in a way that invalidates the results of the check. This can cause the software to perform invalid actions when the resource is in an unexpected state.