Skip to content

[release/10.0] Fix Uri.TryUnescapeDataString throwing instead of returning false with small destination buffers#128610

Open
github-actions[bot] wants to merge 3 commits into
release/10.0from
backport/pr-124655-to-release/10.0
Open

[release/10.0] Fix Uri.TryUnescapeDataString throwing instead of returning false with small destination buffers#128610
github-actions[bot] wants to merge 3 commits into
release/10.0from
backport/pr-124655-to-release/10.0

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot commented May 26, 2026

Backport of #124655 to release/10.0
Closes #128608

Customer Impact

  • Customer reported
  • Found internally

The new API was added in .NET 9 (#98074) and shipped with a bug where providing a small buffer unexpectedly throws for some inputs. This is a Try- based API, so callers expect it to return false for this condition instead of throwing.

The issue was originally discovered internally when we added fuzzing for Uri (Feb 2026, #124654).
It was also reported by customers when they started using the new API (May 2026, #128608).

It wasn't reported earlier as it's a new API, and common calling patterns avoid the bug by providing a sufficiently large buffer in the first place. This is common with this particular operation because the output length will always be <= the input length.

Regression

  • No

The new API was introduced in .NET 9 and shipped with this bug.

Testing

A targeted test case was added.

Risk

Low.
The change is trivial, covered by a targeted test case, and underwent fuzzing.

Copilot AI and others added 3 commits May 26, 2026 22:32
…h small destination buffers

Co-authored-by: MihaZupan <25307628+MihaZupan@users.noreply.github.com>
Co-authored-by: MihaZupan <25307628+MihaZupan@users.noreply.github.com>
@dotnet-policy-service
Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @karelz, @dotnet/ncl
See info in area-owners.md if you want to be subscribed.

@karelz karelz added this to the 10.0.x milestone May 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants