dkforest

A forum and chat platform (onion)
git clone https://git.dasho.dev/n0tr1v/dkforest.git
Log | Files | Refs | LICENSE

commit d7fcb6f000273480f7b294365d7d3d099c0c457d
parent 912a97004b04307701f08bd4c3bdb23fb34dbf51
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Tue, 19 Dec 2023 01:23:50 -0500

cleanup

Diffstat:
Mpkg/web/handlers/poker.go | 7+------
Mpkg/web/handlers/poker/poker.go | 3+++
2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/pkg/web/handlers/poker.go b/pkg/web/handlers/poker.go @@ -22,7 +22,6 @@ import ( "image/png" "math/rand" "net/http" - "strconv" "strings" "time" ) @@ -541,11 +540,7 @@ func PokerUnSitHandler(c echo.Context) error { func PokerSitHandler(c echo.Context) error { html := hutils.HtmlCssReset + `<form method="post"><button>Sit</button></form>` authUser := c.Get("authUser").(*database.User) - pos, _ := strconv.Atoi(c.Param("pos")) - if pos < 1 || pos > poker.NbPlayers { - return c.HTML(http.StatusOK, html) - } - pos-- + pos := utils.Clamp(utils.DoParseInt(c.Param("pos")), 1, poker.NbPlayers) - 1 roomID := poker.RoomID(c.Param("roomID")) g := poker.PokerInstance.GetGame(roomID) if g == nil { diff --git a/pkg/web/handlers/poker/poker.go b/pkg/web/handlers/poker/poker.go @@ -471,6 +471,9 @@ func (g *PokerGame) Sit(userID database.UserID, username database.Username, pos if isSeated(*gPlayers, userID) { return errors.New("player already seated") } + if pos < 0 || pos >= len(*gPlayers) { + return errors.New("invalid position") + } if (*gPlayers)[pos] != nil { return errors.New("seat already taken") }