aboutsummaryrefslogtreecommitdiff
path: root/internal/admin/api_items.go
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-09-16 02:14:02 -0400
committerhistoria <[not public]>2026-09-16 02:14:02 -0400
commitad60843fbf577eda80105e3916822d663aaefcb3 (patch)
tree68092a6403fdb2992ef92cfe0e2dd62b479935aa /internal/admin/api_items.go
parent61881fd0c1a7066293f552be1a747143f70d03ff (diff)
downloadthehouseoficarus-ad60843fbf577eda80105e3916822d663aaefcb3.tar.gz
fix: economy recovery double-refund/erased-liability/cap-drops, entity editor path traversal
Diffstat (limited to 'internal/admin/api_items.go')
-rw-r--r--internal/admin/api_items.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/internal/admin/api_items.go b/internal/admin/api_items.go
index 728997a..749e8ff 100644
--- a/internal/admin/api_items.go
+++ b/internal/admin/api_items.go
@@ -33,6 +33,10 @@ func (s *AdminServer) handleItemByID(w http.ResponseWriter, r *http.Request) {
http.Error(w, `{"error":"missing item id"}`, http.StatusBadRequest)
return
}
+ if !validEntityID(id) {
+ http.Error(w, `{"error":"invalid item id"}`, http.StatusBadRequest)
+ return
+ }
switch r.Method {
case http.MethodGet:
@@ -152,6 +156,10 @@ func (s *AdminServer) createItem(w http.ResponseWriter, r *http.Request) {
http.Error(w, `{"error":"missing item id"}`, http.StatusBadRequest)
return
}
+ if !validEntityID(id) {
+ http.Error(w, `{"error":"invalid item id"}`, http.StatusBadRequest)
+ return
+ }
if _, _, err := s.findItemFile(id); err == nil {
http.Error(w, `{"error":"item already exists"}`, http.StatusConflict)