From bc29c4ba7108050f36c2b6410c5a377f325ee1d2 Mon Sep 17 00:00:00 2001 From: ryzendigo <48058157+ryzendigo@users.noreply.github.com> Date: Mon, 16 Mar 2026 20:42:03 +0800 Subject: [PATCH] fix: off-by-one error in GpuSelector.get_gpu_arg (#22464) gpu <= len(self._valid_gpus) should be gpu < len(self._valid_gpus). The list is zero-indexed, so requesting gpu index equal to the list length causes an IndexError. For example, with 2 valid GPUs (indices 0 and 1), requesting gpu=2 passes the check (2 <= 2) but self._valid_gpus[2] is out of bounds. --- frigate/ffmpeg_presets.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frigate/ffmpeg_presets.py b/frigate/ffmpeg_presets.py index 43272a6d1..20e1620e1 100644 --- a/frigate/ffmpeg_presets.py +++ b/frigate/ffmpeg_presets.py @@ -63,7 +63,7 @@ class LibvaGpuSelector: if not self._valid_gpus: return "" - if gpu <= len(self._valid_gpus): + if gpu < len(self._valid_gpus): return self._valid_gpus[gpu] else: logger.warning(f"Invalid GPU index {gpu}, using first valid GPU")