Skip to content

oksolc 0.2.1

Choose a tag to compare

@hbbio hbbio released this 19 Oct 02:36

Requires Zig 0.17.0.

Solidity compatibility target: 0.8.36.

Security

  • Resolve relative imports in the virtual source namespace, preserving URL-like
    names and existing path components instead of selecting a normalized alias
    (GHSA-wvq5-vxvm-x7xp).
  • Read project remappings through verified directory and regular-file handles,
    rejecting symlinks and non-regular files to prevent disclosure through
    remappings.txt, and retaining the pinned project root during watch updates
    (GHSA-qhgr-hfq3-p3rr).
  • Reject ambiguous Yul object and data paths with structured diagnostics in every
    declaration order and build mode, preventing dotted names from replacing nested
    runtime code (GHSA-9q3c-q3gp-jg4h). This includes ambiguous declaration orders
    accepted by solc 0.8.36; see the compatibility exceptions.
    Namespace checks share path components and reuse tree validation throughout
    analysis and optimization, keeping scratch storage proportional to the input.

Fixed

  • Preserve request and source insertion order in original and minimized
    differential-fuzz reproducers so replay uses the same request bytes.
  • Apply one compiler-service deadline to request transmission and response
    receipt, and terminate timed-out workers before closing buffered stdin.
  • Resolve native array push and pop overloads together with attached
    functions, matching solc's selection, ambiguity, and argument diagnostics.
  • Preserve diagnostic 4731 for zero-parameter attachments declared after array
    calls instead of returning an internal compiler failure.