Closed Bug 1845815 Opened 2 years ago Closed 2 years ago

Support binary response bodies in Viaduct

Categories

(Firefox :: Sync, task)

task

Tracking

()

RESOLVED FIXED
118 Branch
Tracking Status
firefox118 --- fixed

People

(Reporter: adw, Assigned: adw)

References

Details

Attachments

(1 file)

Firefox's Viaduct backend buffers response bodies in an nsCString and then passes them to response.set_body() without also passing in a length. That ends up treating all bodies as null-terminated strings, truncating them at the first null byte. Fortunately set_body() takes a second length arg ([1], [2]), and we only need to pass in the length to properly store all response bodies.

Despite the name, nsCString isn't a problem and we can continue to use it here because it does not assume its content is a null-terminated string as long as Append() is called with a length, as the Viaduct impl does.

Pushed by dwillcoxon@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/b8f452645313 Support binary response bodies in Viaduct r=teshaq
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 118 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: