Closed
Bug 28394
Opened 25 years ago
Closed 25 years ago
Illegal Cast Up char* in nsString- RDF file system
Categories
(Core Graveyard :: RDF, defect, P3)
Core Graveyard
RDF
Tracking
(Not tracked)
People
(Reporter: ftang, Assigned: mozilla)
References
Details
Attachments
(1 file)
537 bytes,
patch
|
Details | Diff | Splinter Review |
I add assertion code in my local build to assert when people send non ASCII data
to nsSring by using the char* favor of function, here is my first assert in my
Japanese NT. The baseFilename in FileSystemDataSource::GetName is non ASCII (it
is Japanese) in my NT. Please do correct unicode conversion to replace the line
nsAutoString name(baseFilename);
Here is my stack trace, you won't get such assert because
1. I didn't check in the assert
2. I am running in a Japanese system
CopyChars1To2(char * 0x0012b6d4, int 0x00000000, const char * 0x02e86990,
unsigned int 0x00000000, unsigned int 0x00000018) line 195 + 31 bytes
nsStr::Append(nsStr & {...}, const nsStr & {...}, unsigned int 0x00000000, int
0x00000018) line 171 + 50 bytes
nsString::Append(const char * 0x02e86990, int 0x00000018) line 1105 + 43 bytes
nsAutoString::nsAutoString(const char * 0x02e86990, int 0xffffffff) line 2240
FileSystemDataSource::GetName(nsIRDFResource * 0x02e788a0, nsIRDFLiteral * *
0x0012ba64) line 1125
FileSystemDataSource::GetTarget(FileSystemDataSource * const 0x0268ebc0,
nsIRDFResource * 0x02e788a0, nsIRDFResource * 0x010b4210, int 0x00000001,
nsIRDFNode * * 0x0012bb70) line 437 + 39 bytes
CompositeDataSourceImpl::GetTarget(CompositeDataSourceImpl * const 0x02e55a40,
nsIRDFResource * 0x02e788a0, nsIRDFResource * 0x010b4210, int 0x00000001,
nsIRDFNode * * 0x0012bb70) line 708 + 28 bytes
RDFGenericBuilderImpl::SubstituteText(nsIRDFResource * 0x02e788a0, nsString &
{...}) line 1669 + 65 bytes
RDFGenericBuilderImpl::BuildContentFromTemplate(nsIContent * 0x02e54060,
nsIContent * 0x02e86c20, nsIContent * 0x02e86c20, int 0x00000000, nsIRDFResource
* 0x02e788a0, int 0x00000000, nsIContent * * 0x00000000, int * 0x00000000) line
2048 + 22 bytes
RDFGenericBuilderImpl::CreateTemplateContents(nsIContent * 0x02e86c20, const
nsString & {...}, nsIContent * * 0x00000000, int * 0x00000000) line 2632 + 46 bytes
RDFGenericBuilderImpl::CreateTemplateAndContainerContents(nsIContent *
0x02e86c20, nsIContent * * 0x00000000, int * 0x00000000) line 2431 + 30 bytes
RDFGenericBuilderImpl::CreateContents(RDFGenericBuilderImpl * const 0x02e55aa0,
nsIContent * 0x02e86c20) line 738 + 16 bytes
nsXULDocument::CreateContents(nsXULDocument * const 0x0297b644, nsIContent *
0x02e86c20) line 2027 + 16 bytes
nsXULElement::EnsureContentsGenerated() line 3263 + 27 bytes
nsXULElement::ChildCount(const nsXULElement * const 0x02e86c20, int &
0x02956710) line 2017 + 8 bytes
nsCSSFrameConstructor::TableProcessChildren(nsIPresShell * 0x02956500,
nsIPresContext * 0x0298ea00, nsFrameConstructorState & {...}, nsIContent *
0x02e86c20, nsIFrame * 0x00fa6000, nsFrameItems & {...}, nsTableCreator & {...})
line 1923
nsCSSFrameConstructor::ConstructTableRowFrameOnly(nsIPresShell * 0x02956500,
nsIPresContext * 0x0298ea00, nsFrameConstructorState & {...}, nsIContent *
0x02e86c20, nsIFrame * 0x00fa5f70, nsIStyleContext * 0x02e81ce0, int 0x00000001,
nsIFrame * & 0x00fa6000, nsTableCreator & {...}) line 1671 + 38 bytes
nsCSSFrameConstructor::ConstructTableRowFrame(nsIPresShell * 0x02956500,
nsIPresContext * 0x0298ea00, nsFrameConstructorState & {...}, nsIContent *
0x02e86c20, nsIFrame * 0x00fa5f70, nsIStyleContext * 0x02e81ce0, nsIFrame * &
0x00000000, nsIFrame * & 0x00fa6000, nsTableCreator & {...}, nsTableList *
0x00000000) line 1609 + 49 bytes
nsCSSFrameConstructor::ConstructXULFrame(nsIPresShell * 0x02956500,
nsIPresContext * 0x0298ea00, nsFrameConstructorState & {...}, nsIContent *
0x02e86c20, nsIFrame * 0x00fa5f70, nsIAtom * 0x01936cf0, nsIStyleContext *
0x02e81ce0, nsFrameItems & {...}, int & 0x00000000) line 4178 + 49 bytes
nsCSSFrameConstructor::ConstructFrame(nsIPresShell * 0x02956500, nsIPresContext
* 0x0298ea00, nsFrameConstructorState & {...}, nsIContent * 0x02e86c20, nsIFrame
* 0x00fa5f70, nsFrameItems & {...}) line 5568 + 54 bytes
nsCSSFrameConstructor::CreateTreeWidgetContent(nsCSSFrameConstructor * const
0x02956710, nsIPresContext * 0x0298ea00, nsIFrame * 0x00fa5f70, nsIFrame *
0x00000000, nsIContent * 0x02e86c20, nsIFrame * * 0x00fa5fb8, int 0x00000001,
int 0x00000000, nsILayoutHistoryState * 0x00000000) line 9904 + 37 bytes
nsTreeRowGroupFrame::GetFirstFrameForReflow(nsIPresContext * 0x0298ea00) line 1212
nsTableRowGroupFrame::ReflowMappedChildren(nsTableRowGroupFrame * const
0x00fa5f70, nsIPresContext * 0x0298ea00, nsHTMLReflowMetrics & {...},
RowGroupReflowState & {...}, unsigned int & 0x00000000, nsTableRowFrame *
0x00000000, nsReflowReason eReflowReason_Initial, int 0x00000001, int
0x00000000) line 376 + 18 bytes
nsTableRowGroupFrame::Reflow(nsTableRowGroupFrame * const 0x00fa5f70,
nsIPresContext * 0x0298ea00, nsHTMLReflowMetrics & {...}, const
nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1092 + 38 bytes
nsContainerFrame::ReflowChild(nsIFrame * 0x00fa5f70, nsIPresContext *
0x0298ea00, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int
0x00000000, int 0x000000d2, unsigned int 0x00000000, unsigned int & 0x00000000)
line 638 + 31 bytes
nsTableRowGroupFrame::ReflowMappedChildren(nsTableRowGroupFrame * const
0x00f9cb64, nsIPresContext * 0x0298ea00, nsHTMLReflowMetrics & {...},
RowGroupReflowState & {...}, unsigned int & 0x00000000, nsTableRowFrame *
0x00000000, nsReflowReason eReflowReason_Initial, int 0x00000001, int
0x00000000) line 437 + 45 bytes
nsTableRowGroupFrame::Reflow(nsTableRowGroupFrame * const 0x00f9cb64,
nsIPresContext * 0x0298ea00, nsHTMLReflowMetrics & {...}, const
nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1092 + 38 bytes
nsContainerFrame::ReflowChild(nsIFrame * 0x00f9cb64, nsIPresContext *
0x0298ea00, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int
0x00000000, int 0x000000d2, unsigned int 0x00000000, unsigned int & 0x00000000)
line 638 + 31 bytes
nsTableRowGroupFrame::ReflowMappedChildren(nsTableRowGroupFrame * const
0x00f9c750, nsIPresContext * 0x0298ea00, nsHTMLReflowMetrics & {...},
RowGroupReflowState & {...}, unsigned int & 0x00000000, nsTableRowFrame *
0x00000000, nsReflowReason eReflowReason_Initial, int 0x00000001, int
0x00000000) line 437 + 45 bytes
nsTableRowGroupFrame::Reflow(nsTableRowGroupFrame * const 0x00f9c750,
nsIPresContext * 0x0298ea00, nsHTMLReflowMetrics & {...}, const
nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1092 + 38 bytes
nsContainerFrame::ReflowChild(nsIFrame * 0x00f9c750, nsIPresContext *
0x0298ea00, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int
0x00000000, int 0x00000000, unsigned int 0x00000000, unsigned int & 0x00000000)
line 638 + 31 bytes
nsTableRowGroupFrame::ReflowMappedChildren(nsTableRowGroupFrame * const
0x00f9c6c0, nsIPresContext * 0x0298ea00, nsHTMLReflowMetrics & {...},
RowGroupReflowState & {...}, unsigned int & 0x00000000, nsTableRowFrame *
0x00000000, nsReflowReason eReflowReason_Initial, int 0x00000001, int
0x00000000) line 437 + 45 bytes
nsTableRowGroupFrame::Reflow(nsTableRowGroupFrame * const 0x00f9c6c0,
nsIPresContext * 0x0298ea00, nsHTMLReflowMetrics & {...}, const
nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1092 + 38 bytes
nsContainerFrame::ReflowChild(nsIFrame * 0x00f9c6c0, nsIPresContext *
0x0298ea00, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int
0x00000000, int 0x000000d2, unsigned int 0x00000000, unsigned int & 0x00000000)
line 638 + 31 bytes
nsTableRowGroupFrame::ReflowMappedChildren(nsTableRowGroupFrame * const
0x00f8e890, nsIPresContext * 0x0298ea00, nsHTMLReflowMetrics & {...},
RowGroupReflowState & {...}, unsigned int & 0x00000000, nsTableRowFrame *
0x00000000, nsReflowReason eReflowReason_Initial, int 0x00000001, int
0x00000000) line 437 + 45 bytes
nsTableRowGroupFrame::Reflow(nsTableRowGroupFrame * const 0x00f8e890,
nsIPresContext * 0x0298ea00, nsHTMLReflowMetrics & {...}, const
nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1092 + 38 bytes
nsContainerFrame::ReflowChild(nsIFrame * 0x00f8e890, nsIPresContext *
0x0298ea00, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int
0x00000000, int 0x00000000, unsigned int 0x00000000, unsigned int & 0x00000000)
line 638 + 31 bytes
nsTableRowGroupFrame::ReflowMappedChildren(nsTableRowGroupFrame * const
0x00f8e800, nsIPresContext * 0x0298ea00, nsHTMLReflowMetrics & {...},
RowGroupReflowState & {...}, unsigned int & 0x00000000, nsTableRowFrame *
0x00000000, nsReflowReason eReflowReason_Initial, int 0x00000001, int
0x00000000) line 437 + 45 bytes
nsTableRowGroupFrame::Reflow(nsTableRowGroupFrame * const 0x00f8e800,
nsIPresContext * 0x0298ea00, nsHTMLReflowMetrics & {...}, const
nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1092 + 38 bytes
nsContainerFrame::ReflowChild(nsIFrame * 0x00f8e800, nsIPresContext *
0x0298ea00, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int
0x00000000, int 0x00000000, unsigned int 0x00000000, unsigned int & 0x00000000)
line 638 + 31 bytes
nsTableFrame::ReflowMappedChildren(nsTableFrame * const 0x00f8e6c8,
nsIPresContext * 0x0298ea00, nsHTMLReflowMetrics & {...}, InnerTableReflowState
& {...}, unsigned int & 0x00000000) line 2933 + 41 bytes
nsTableFrame::ResizeReflowPass2(nsTableFrame * const 0x00f8e6c8, nsIPresContext
* 0x0298ea00, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...},
unsigned int & 0x00000000) line 1947 + 31 bytes
nsTableFrame::Reflow(nsTableFrame * const 0x00f8e6c8, nsIPresContext *
0x0298ea00, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...},
unsigned int & 0x00000000) line 1591 + 34 bytes
nsTreeFrame::Reflow(nsTreeFrame * const 0x00f8e6c8, nsIPresContext * 0x0298ea00,
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int &
0x00000000) line 410 + 25 bytes
nsContainerFrame::ReflowChild(nsIFrame * 0x00f8e6c8, nsIPresContext *
0x0298ea00, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int
0x00000000, int 0x00000000, unsigned int 0x00000000, unsigned int & 0x00000000)
line 638 + 31 bytes
nsTableOuterFrame::Reflow(nsTableOuterFrame * const 0x00f8e66c, nsIPresContext *
0x0298ea00, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...},
unsigned int & 0x00000000) line 982 + 43 bytes
nsTreeOuterFrame::Reflow(nsTreeOuterFrame * const 0x00f8e66c, nsIPresContext *
0x0298ea00, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...},
unsigned int & 0x00000000) line 136 + 25 bytes
nsBlockReflowContext::ReflowBlock(nsIFrame * 0x00f8e66c, const nsRect & {...},
int 0x00000000, int 0x00000000, int 0x00000001, nsMargin & {...}, unsigned int &
0x00000000) line 449 + 45 bytes
nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineBox *
0x02e6e6a0, int * 0x0012e634) line 3494 + 59 bytes
nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineBox * 0x02e6e6a0, int
* 0x0012e634, int 0x00000000) line 2807 + 23 bytes
nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 2618 + 27 bytes
nsBlockFrame::Reflow(nsBlockFrame * const 0x00f8e624, nsIPresContext *
0x0298ea00, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...},
unsigned int & 0x00000000) line 1562 + 15 bytes
nsBoxFrameInner::FlowChildAt(nsIFrame * 0x00f8e624, nsIPresContext * 0x0298ea00,
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int &
0x00000000, nsCalculatedBoxInfo & {...}, int 0x00000000, int 0x00000000, int
0x00000001, nsIFrame * & 0x00000000, int & 0x00000000, const nsString & {...})
line 2033
nsBoxFrameInner::FlowChildren(nsIPresContext * 0x0298ea00, nsHTMLReflowMetrics &
{...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000, nsIFrame * &
0x00000000, nsRect & {...}, nsSize & {...}, int & 0x00000000) line 1358
nsBoxFrame::Reflow(nsBoxFrame * const 0x00f8e570, nsIPresContext * 0x0298ea00,
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int &
0x00000000) line 1082
nsContainerFrame::ReflowChild(nsIFrame * 0x00f8e570, nsIPresContext *
0x0298ea00, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int
0x00000000, int 0x00000000, unsigned int 0x00000000, unsigned int & 0x00000000)
line 638 + 31 bytes
RootFrame::Reflow(RootFrame * const 0x00f8e534, nsIPresContext * 0x0298ea00,
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int &
0x00000000) line 331
nsContainerFrame::ReflowChild(nsIFrame * 0x00f8e534, nsIPresContext *
0x0298ea00, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int
0x00000000, int 0x00000000, unsigned int 0x00000000, unsigned int & 0x00000000)
line 638 + 31 bytes
ViewportFrame::Reflow(ViewportFrame * const 0x00f8e4f8, nsIPresContext *
0x0298ea00, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...},
unsigned int & 0x00000000) line 531
PresShell::InitialReflow(PresShell * const 0x02956500, int 0x0000097e, int
0x000020b2) line 1259
nsXULDocument::StartLayout() line 3533
nsXULDocument::ResumeWalk() line 4807
nsXULDocument::OnStreamComplete(nsXULDocument * const 0x0297b664,
nsIStreamLoader * 0x00000000, nsISupports * 0x00000000, unsigned int 0x00000000,
unsigned int 0x00000a03, const char * 0x02476670) line 4916 + 11 bytes
nsStreamLoader::OnStopRequest(nsStreamLoader * const 0x02e2f734, nsIChannel *
0x0295cb20, nsISupports * 0x00000000, unsigned int 0x00000000, const unsigned
short * 0x00000000) line 111 + 75 bytes
nsResChannel::OnStopRequest(nsResChannel * const 0x0295cb24, nsIChannel *
0x0295f190, nsISupports * 0x00000000, unsigned int 0x00000000, const unsigned
short * 0x00000000) line 596 + 53 bytes
nsFileChannel::OnStopRequest(nsFileChannel * const 0x0295f194, nsIChannel *
0x0295c090, nsISupports * 0x00000000, unsigned int 0x00000000, const unsigned
short * 0x00000000) line 446 + 45 bytes
nsOnStopRequestEvent::HandleEvent(nsOnStopRequestEvent * const 0x0295a060) line 279
nsStreamListenerEvent::HandlePLEvent(PLEvent * 0x02959770) line 93 + 12 bytes
PL_HandleEvent(PLEvent * 0x02959770) line 526 + 10 bytes
PL_ProcessPendingEvents(PLEventQueue * 0x01082390) line 487 + 9 bytes
_md_EventReceiverProc(HWND__ * 0x055a0180, unsigned int 0x0000c0ed, unsigned int
0x00000000, long 0x01082390) line 975 + 9 bytes
USER32! 77e41186()
01082390()
Reporter | ||
Comment 1•25 years ago
|
||
This is beta1 because it cause the RDF file system source import IE favoriate
incorrectly in standard Japanese Window installation. It will make the sidebar
and bookmark menu show a lot of garbage by default. see screenshot.
Keywords: beta1
Reporter | ||
Comment 2•25 years ago
|
||
somehow I cannot create attachment- screenshot post to netscape internal-
http://warp/u/ftang/tmp/image3DT.JPG
Assignee | ||
Comment 3•25 years ago
|
||
Assignee | ||
Comment 4•25 years ago
|
||
Frank, I've attached a small diff. Can you try it out and see how it works for
you? Thanks!
Status: NEW → ASSIGNED
Assignee | ||
Comment 5•25 years ago
|
||
While the diff I've attached fixes getting filenames from the OS via Unicode,
the whole IE favorites thing is somewhat of a different issue. See bug # 6770
for details. (Note: this bug is NOT a DUP of that one.)
Assignee | ||
Comment 6•25 years ago
|
||
Ignore both my proposed fix which is attached as well as my previous comment.
This bug is a DUP of 6770.
*** This bug has been marked as a duplicate of 6770 ***
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → DUPLICATE
Reporter | ||
Comment 7•25 years ago
|
||
Is this a dup of 5887 ?
Comment 8•25 years ago
|
||
Updated•7 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•