Skip to content

Commit 634f572

Browse files
hyperpolymathclaude
andcommitted
fix: replace String.to_atom with String.to_existing_atom
Prevents BEAM atom table exhaustion from unbounded String.to_atom calls. Detected by panic-attack assail batch scan (2026-03-30). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 28d7218 commit 634f572

2 files changed

Lines changed: 2 additions & 2 deletions

File tree

elixir-orchestration/lib/verisim/query/vql_executor.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ defmodule VeriSim.Query.VQLExecutor do
142142
~w(GRAPH VECTOR TENSOR SEMANTIC DOCUMENT TEMPORAL PROVENANCE SPATIAL)
143143
|> Enum.filter(&String.contains?(upper, &1))
144144
|> Enum.map(&String.downcase/1)
145-
|> Enum.map(&String.to_atom/1)
145+
|> Enum.map(&String.to_existing_atom/1)
146146
end
147147

148148
# ===========================================================================

elixir-orchestration/lib/verisim/query/vql_type_checker.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ defmodule VeriSim.Query.VQLTypeChecker do
308308
defp normalize_proof_type(_), do: :unknown
309309

310310
defp do_normalize(str) when is_binary(str) do
311-
atom = str |> String.downcase() |> String.to_atom()
311+
atom = str |> String.downcase() |> String.to_existing_atom()
312312
if atom in @known_proof_types, do: atom, else: :unknown
313313
end
314314
defp do_normalize(atom) when is_atom(atom) do

0 commit comments

Comments
 (0)