diff --git a/src/specify_cli/workflows/_commands.py b/src/specify_cli/workflows/_commands.py index b465610d3b..f42e8874bb 100644 --- a/src/specify_cli/workflows/_commands.py +++ b/src/specify_cli/workflows/_commands.py @@ -1463,7 +1463,13 @@ def _validate_and_install_local( try: with yaml_path.open("rb") as source_file: source_mode = os.fstat(source_file.fileno()).st_mode & 0o7777 - source_content = source_file.read() + source_content = source_file.read(_MAX_WORKFLOW_YAML_BYTES + 1) + if len(source_content) > _MAX_WORKFLOW_YAML_BYTES: + console.print( + f"[red]Error:[/red] Workflow YAML file exceeds " + f"{_MAX_WORKFLOW_YAML_BYTES}-byte limit" + ) + raise typer.Exit(1) definition = WorkflowDefinition.from_string( source_content.decode("utf-8") )