Skip to content
This repository was archived by the owner on Apr 1, 2025. It is now read-only.
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: go-yaml/yaml
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v2.2.3
Choose a base ref
...
head repository: go-yaml/yaml
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v2.2.8
Choose a head ref
  • 9 commits
  • 7 files changed
  • 5 contributors

Commits on Oct 2, 2019

  1. Improve heuristics preventing CPU/memory abuse (#515)

    This addresses the following items:
    
    ==== Parse time of excessively deep nested or indented documents
    
    Parsing these documents is non-linear; limiting stack depth to 10,000 keeps parse times of pathological documents sub-second (~.25 seconds in benchmarks)
    
    ==== Alias node expansion limits
    
    The current limit allows 10,000% expansion, which is too permissive for large documents.
    
    Limiting to 10% expansion for larger documents allows callers to use input size as an effective way to limit resource usage. Continuing to allow larger expansion rates (up to the current 10,000% limit) for smaller documents does not unduly affect memory use.
    
    This change bounds decode operations from alias expansion to ~400,000 operations for small documents (worst-case ~100-150MB) or 10% of the input document for large documents, whichever is greater.
    liggitt authored and niemeyer committed Oct 2, 2019
    Configuration menu
    Copy the full SHA
    f221b84 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    970885f View commit details
    Browse the repository at this point in the history

Commits on Nov 4, 2019

  1. Fix check for non-map alias merging in v2 (#529)

    The problem does not affect v3.
    niemeyer committed Nov 4, 2019
    Configuration menu
    Copy the full SHA
    f90ceb4 View commit details
    Browse the repository at this point in the history

Commits on Nov 5, 2019

  1. Configuration menu
    Copy the full SHA
    1ed5951 View commit details
    Browse the repository at this point in the history
  2. Fix Decorder doc typo (#494)

    cunnie authored and niemeyer committed Nov 5, 2019
    Configuration menu
    Copy the full SHA
    770b8da View commit details
    Browse the repository at this point in the history

Commits on Nov 19, 2019

  1. Port stale simple_keys fix to v2 (#543)

    This should simplify the logic and significantly improve
    performance in edge cases as found and reported on #537
    by CJ Cullen.
    cjcullen authored and niemeyer committed Nov 19, 2019
    Configuration menu
    Copy the full SHA
    36babc3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a95acef View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1f64d61 View commit details
    Browse the repository at this point in the history

Commits on Jan 21, 2020

  1. Optimize cases with long potential simple_keys (#555)

    This change introduces an index to lookup token numbers referenced by simple_keys in O(1),
    thus significantly reducing the performance impact of certain abusively constructed snippets.
    
    When we build up the simple_keys stack, we count on the (formerly named) staleness check to
    catch errors where a simple key is required but would be > 1024 chars or span lines. The previous
    simplification that searches the stack from the top can go 1024 keys deep before finding a "stale"
    key and stopping. I added a test that shows that this consumes ~3s per 1MB of document size.
    cjcullen authored and niemeyer committed Jan 21, 2020
    Configuration menu
    Copy the full SHA
    53403b5 View commit details
    Browse the repository at this point in the history
Loading