Replace String.to_integer with safe Integer.parse

Use Integer.parse/1 instead of String.to_integer/1 on user-supplied
and external API input to prevent ArgumentError crashes on non-numeric
values. Adds fallback defaults or nil returns at each call site.
This commit is contained in:
Claudio Ortolina
2026-03-05 14:27:37 +00:00
parent 23c478fe4c
commit eb8a00ab54
6 changed files with 39 additions and 19 deletions
@@ -162,7 +162,7 @@ defmodule MusicLibraryWeb.ScrobbleLive.Show do
end
def handle_event("scrobble_medium", %{"medium_number" => number}, socket) do
number = String.to_integer(number)
{number, ""} = Integer.parse(number)
case ScrobbleActivity.scrobble_medium(number, socket.assigns.release,
finished_at: DateTime.utc_now()