From 553741557a57df44a46fb3ab72b6aafeaf945337 Mon Sep 17 00:00:00 2001 From: Inference_ <68734681+Inference1@users.noreply.github.com> Date: Sun, 25 Oct 2026 07:59:27 -0400 Subject: [PATCH] fix: validate boolean environment variables with strict parsing (#218) --- deepinfer/environ.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/deepinfer/environ.py b/deepinfer/environ.py index 332064a..e3a55bb 100644 --- a/deepinfer/environ.py +++ b/deepinfer/environ.py @@ -7,10 +7,17 @@ from datetime import timedelta from typing import Any DEFAULT_PREFILL_MAX_SUM_SEQLEN_K = 2**30 +_FALSE = {"0", "", "false"} +_TRUE = {"1", "true"} def _bool(v: str | None, default: str = "0") -> bool: - return (v if v is not None else default) not in ("0", "", "false", "False") + value = (v if v is not None else default).lower() + if value in _FALSE: + return False + if value in _TRUE: + return True + raise ValueError("expected one of '0', '1', 'false', 'true' (case-insensitive)") def _int(v: str | None, default: int = 0) -> int: