commit 779e748fa09912152011ac694499f1ad65f15bda
parent 8a780bef866d683ef1845cbdb7140165aedf587e
Author: Jacob R. Edwards <jacob@jacobedwards.org>
Date: Mon, 26 Aug 2024 14:16:56 -0700
Check for nil in patchPoint and patchPointmap
This fixes the nil dereference bug on deletions.
Diffstat:
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/internal/backend/floorplan_data.go b/internal/backend/floorplan_data.go
@@ -193,13 +193,17 @@ func (e *Env) PatchFloorplanData(tx *sql.Tx, user string, floorplan string, patc
if err != nil {
return data, ref.Error("", err)
}
- data.Points[point.id] = *point
+ if point != nil {
+ data.Points[point.id] = *point
+ }
} else if (ref.table == "pointmaps") {
pointmap, err := e.patchPointMap(tx, user, floorplan, &patch, &ref, new_pointmap_ids, new_point_ids)
if err != nil {
return data, ref.Error("", err)
}
- data.Pointmaps[pointmap.id] = *pointmap
+ if pointmap != nil {
+ data.Pointmaps[pointmap.id] = *pointmap
+ }
} else {
return data, ref.Error("Path does not exist", nil)
}