Contexto
Auditoria de bugs (ver BUGS_AUDIT.md). Handlers de dinheiro/bucket sem validação de valor.
Problemas
S-12 — GiveMoneyAll sem validação de valor 🔴
server/misc.lua:461-486. Diferente de GiveMoney (exige amount > 0 e valida o tipo), GiveMoneyAll nunca valida amount nem moneyType. Amount negativo drena o dinheiro de todos os jogadores online; valor não-numérico passa nil a AddMoney e erra o handler no meio do loop.
S-15 — SetBucket passa id string ao native e não valida bucket 🟠
server/misc.lua:378-396. player é passado cru (string) a SetPlayerRoutingBucket (espera int); bucket pode ser nil (sem checagem de range/não-negativo).
Correção sugerida
Espelhar a validação de GiveMoney em GiveMoneyAll (amount numérico > 0, cap, tipo válido). Em SetBucket, tonumber(player) e validar bucket.
Severidade: 🔴 Alto — IDs: S-12, S-15
Contexto
Auditoria de bugs (ver
BUGS_AUDIT.md). Handlers de dinheiro/bucket sem validação de valor.Problemas
S-12 —
GiveMoneyAllsem validação de valor 🔴server/misc.lua:461-486. Diferente deGiveMoney(exigeamount > 0e valida o tipo),GiveMoneyAllnunca validaamountnemmoneyType.Amountnegativo drena o dinheiro de todos os jogadores online; valor não-numérico passanilaAddMoneye erra o handler no meio do loop.S-15 —
SetBucketpassa id string ao native e não valida bucket 🟠server/misc.lua:378-396.playeré passado cru (string) aSetPlayerRoutingBucket(espera int);bucketpode sernil(sem checagem de range/não-negativo).Correção sugerida
Espelhar a validação de
GiveMoneyemGiveMoneyAll(amount numérico > 0, cap, tipo válido). EmSetBucket,tonumber(player)e validarbucket.Severidade: 🔴 Alto — IDs: S-12, S-15