commit d7fcb6f000273480f7b294365d7d3d099c0c457d
parent 912a97004b04307701f08bd4c3bdb23fb34dbf51
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Tue, 19 Dec 2023 01:23:50 -0500
cleanup
Diffstat:
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")
}