Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
A
angle
  • Project
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Chen Yisong
  • angle
  • Repository

Switch branch/tag
  • angle
  • src
  • compiler
  • translator
  • IsASTDepthBelowLimit.cpp
Find file
BlameHistoryPermalink
  • Olli Etuaho's avatar
    Guard traversers used during parsing against stack overflow · 4002e92a
    Olli Etuaho authored Apr 04, 2018
    Traversers used during parsing can be vulnerable to stack overflow
    since the AST has not yet been validated for max depth. Make sure to
    check for traversal depth in traversers used during parsing.
    
    We set the maximum traversal depth in ValidateGlobalInitializer and
    ValidateSwitchStatementList to 256, which matches the default value
    for validating general AST complexity. The depth check is on
    regardless of compiler options. In case the traversers go over the
    maximum traversal depth, they fail validation.
    
    BUG=angleproject:2453
    TEST=angle_unittests
    
    Change-Id: I89ba576e8ef69663ba35d7b9050a6da319f1757c
    Reviewed-on: https://chromium-review.googlesource.com/995795Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    4002e92a
IsASTDepthBelowLimit.cpp 865 Bytes
EditWeb IDE
×

Replace IsASTDepthBelowLimit.cpp

Attach a file by drag & drop or click to upload


Cancel
A new branch will be created in your fork and a new merge request will be started.