From dfb34367c90db5d42c50d989d3459ba10e9e8151 Mon Sep 17 00:00:00 2001 From: ryzendigo <48058157+ryzendigo@users.noreply.github.com> Date: Mon, 16 Mar 2026 14:28:59 +0800 Subject: [PATCH] fix: off-by-one error in GpuSelector.get_gpu_arg 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")