Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: expr-lang/expr
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: SimFG/expr
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master-dev
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 8 commits
  • 13 files changed
  • 3 contributors

Commits on Dec 26, 2024

  1. Configuration menu
    Copy the full SHA
    1150412 View commit details
    Browse the repository at this point in the history
  2. rebase the origin master branch

    SimFG committed Dec 26, 2024
    Configuration menu
    Copy the full SHA
    a232950 View commit details
    Browse the repository at this point in the history
  3. add the view method

    SimFG committed Dec 26, 2024
    Configuration menu
    Copy the full SHA
    78852fe View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    9312198 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    10d1be6 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    f7834e1 View commit details
    Browse the repository at this point in the history
  7. fix parameter type conversion fails when calling method

    Signed-off-by: SimFG <bang.fu@zilliz.com>
    SimFG committed Dec 26, 2024
    Configuration menu
    Copy the full SHA
    a9a7649 View commit details
    Browse the repository at this point in the history

Commits on May 13, 2025

  1. feat: add node budget and memory limits (#762)

    * feat: add node budget and memory limits
    
    Implement compile-time and runtime safeguards against deeply nested expressions:
    
    - Add MaxNodes limit to track and limit AST node count during parsing
    - Move MemoryBudget from VM to Config for better configurability
    - Add node creation tracking in parser to enforce node budget
    - Refactor node creation to check limits before allocation
    - Add RunWithConfig to VM for passing memory budget settings
    - Set reasonable defaults in Config (10000 nodes, 1M memory)
    - Add comprehensive tests for both node and memory limits
    
    This prevents stack overflows from malicious or poorly written expressions
    by failing fast with clear error messages during compilation or runtime.
    
    Signed-off-by: Ville Vesilehto <ville@vesilehto.fi>
    
    * Update parser.go
    
    Signed-off-by: Anton Medvedev <anton@medv.io>
    
    ---------
    
    Signed-off-by: Ville Vesilehto <ville@vesilehto.fi>
    Signed-off-by: Anton Medvedev <anton@medv.io>
    Co-authored-by: Anton Medvedev <anton@medv.io>
    2 people authored and SimFG committed May 13, 2025
    Configuration menu
    Copy the full SHA
    9b981e8 View commit details
    Browse the repository at this point in the history
Loading