"ASSERTION: U+0080/U+0100 - U+FFFF data lost: 'legalRange'"

NEW
Unassigned

Status

()

Firefox
General
8 years ago
7 years ago

People

(Reporter: Jesse Ruderman, Unassigned)

Tracking

(Blocks: 1 bug, {assertion, testcase})

Trunk
x86
Windows 7
assertion, testcase
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Reporter)

Description

8 years ago
Created attachment 510004 [details]
testcase

###!!! ASSERTION: U+0080/U+0100 - U+FFFF data lost: 'legalRange', file js/src/xpconnect/src/xpcconvert.cpp, line 847
(Reporter)

Comment 1

8 years ago
Created attachment 510005 [details]
stack trace
XPConnect is asserting correctly here.

The web page is passing a non-ASCII string in.  Then code in WebContentConverter.js passes that string, as-is, to nsIExternalProtocolService.getProtocolHandlerInfo.  This last takes an ACString per idl, so you get dataloss.

Either the JS in question needs to sanitize the string, or nsIExternalProtocolService's signature needs to be changed.
Component: XPConnect → General
Product: Core → Firefox
QA Contact: xpconnect → general
OS: Mac OS X → Windows 7
You need to log in before you can comment on or make changes to this bug.