fix: don't call alloc
with a length of 0
#1027
Merged
+20
−24
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Ref denoland/deno#27545.
Fixes a leak in deno.serve with an empty response. We would call
to_string_ptr
with an empty string and then call alloc with a length of 0 which is UB.Instead of using
alloc
directly, which has a large number of invariants to uphold, I've changed to just useVec
APIs. That leaves us with fewer invariants to uphold, handles the tricky cases for us, and we need to make aVec
eventually anyway (sinceString
just wraps a Vec).