// updateTUFClient updates the given client, initializing and re-running the // update if ErrNoRootKeys is returned. func updateTUFClient(client *tuf.Client) error { _, err := client.Update() if err == nil || tuf.IsLatestSnapshot(err) { return nil } if err == tuf.ErrNoRootKeys { if err := client.Init(rootKeys, len(rootKeys)); err != nil { return err } return updateTUFClient(client) } return err }