Closed Bug 12607 Opened 25 years ago Closed 25 years ago

FMM: nsAttributeContent::GetText()

Categories

(Core :: Layout, defect, P3)

defect

Tracking

()

VERIFIED FIXED

People

(Reporter: bruce, Assigned: rods)

Details

This should be a nsAllocator based free instead of delete in nsAttributeContent::GetText() **** Purify instrumented ./apprunner.pure (pid 978) **** FMM: Freeing mismatched memory (3 times): * This is occurring while in: __builtin_delete [rtlib.o] nsAttributeContent::GetText(const nsTextFragment*&,int&) [nsAttributeContent.cpp:403] nsTextTransformer::Init(nsIFrame*,int) [nsTextTransformer.cpp:86] nsTextFrame::Reflow(nsIPresContext&,nsHTMLReflowMetrics&,const nsHTMLReflowState&,unsigned int&) [nsTextFrame.cpp:2395] nsLineLayout::ReflowFrame(nsIFrame*,nsIFrame**,unsigned int&) [nsLineLayout.cpp:840] nsInlineFrame::ReflowInlineFrame(nsIPresContext*,const nsHTMLReflowState&,nsInlineFrame::InlineReflowState&,nsIFrame*,unsigned int&) [nsInlineFrame.cpp:1548] nsInlineFrame::ReflowInlineFrames(nsIPresContext*,const nsHTMLReflowState&,nsInlineFrame::InlineReflowState&,nsHTMLReflowMetrics&,unsign ed int&) [nsInlineFrame.cpp:1378] nsInlineFrame::Reflow(nsIPresContext&,nsHTMLReflowMetrics&,const nsHTMLReflowState&,unsigned int&) [nsInlineFrame.cpp:1294] nsLineLayout::ReflowFrame(nsIFrame*,nsIFrame**,unsigned int&) [nsLineLayout.cpp:840] nsBlockFrame::ReflowInlineFrame(nsBlockReflowState&,nsLineBox*,nsIFrame*,unsigne d char*) [nsBlockFrame.cpp:3084] nsBlockFrame::ReflowInlineFrames(nsBlockReflowState&,nsLineBox*,int*) [nsBlockFrame.cpp:2963] nsBlockFrame::ReflowLine(nsBlockReflowState&,nsLineBox*,int*,int) [nsBlockFrame.cpp:2178] nsBlockFrame::ReflowDirtyLines(nsBlockReflowState&) [nsBlockFrame.cpp:1925] nsBlockFrame::Reflow(nsIPresContext&,nsHTMLReflowMetrics&,const nsHTMLReflowState&,unsigned int&) [nsBlockFrame.cpp:1235] nsAreaFrame::Reflow(nsIPresContext&,nsHTMLReflowMetrics&,const nsHTMLReflowState&,unsigned int&) [nsAreaFrame.cpp:344] nsContainerFrame::ReflowChild(nsIFrame*,nsIPresContext&,nsHTMLReflowMetrics&,con st nsHTMLReflowState&,unsigned int&) [nsContainerFrame.cpp:439] nsHTMLButtonControlFrame::Reflow(nsIPresContext&,nsHTMLReflowMetrics&,const nsHTMLReflowState&,unsigned int&) [nsHTMLButtonControlFrame.cpp:500] nsGfxButtonControlFrame::Reflow(nsIPresContext&,nsHTMLReflowMetrics&,const nsHTMLReflowState&,unsigned int&) [nsGfxButtonControlFrame.cpp:191] nsLineLayout::ReflowFrame(nsIFrame*,nsIFrame**,unsigned int&) [nsLineLayout.cpp:840] nsBlockFrame::ReflowInlineFrame(nsBlockReflowState&,nsLineBox*,nsIFrame*,unsigne d char*) [nsBlockFrame.cpp:3084] nsBlockFrame::ReflowInlineFrames(nsBlockReflowState&,nsLineBox*,int*) [nsBlockFrame.cpp:2963] nsBlockFrame::ReflowLine(nsBlockReflowState&,nsLineBox*,int*,int) [nsBlockFrame.cpp:2178] nsBlockFrame::ReflowDirtyLines(nsBlockReflowState&) [nsBlockFrame.cpp:1925] nsBlockFrame::Reflow(nsIPresContext&,nsHTMLReflowMetrics&,const nsHTMLReflowState&,unsigned int&) [nsBlockFrame.cpp:1235] nsBlockReflowContext::ReflowBlock(nsIFrame*,const nsRect&,int,int,int,nsMargin&,unsigned int&) [nsBlockReflowContext.cpp:223] nsBlockFrame::ReflowBlockFrame(nsBlockReflowState&,nsLineBox*,int*) [nsBlockFrame.cpp:2740] nsBlockFrame::ReflowLine(nsBlockReflowState&,nsLineBox*,int*,int) [nsBlockFrame.cpp:2129] nsBlockFrame::ReflowDirtyLines(nsBlockReflowState&) [nsBlockFrame.cpp:1925] nsBlockFrame::Reflow(nsIPresContext&,nsHTMLReflowMetrics&,const nsHTMLReflowState&,unsigned int&) [nsBlockFrame.cpp:1235] nsBlockReflowContext::ReflowBlock(nsIFrame*,const nsRect&,int,int,int,nsMargin&,unsigned int&) [nsBlockReflowContext.cpp:223] * Attempting to free block at 0x24c4150 in the heap. * Address 0x24c4150 is at the beginning of a malloc'd block of 34 bytes. * This block was allocated from: malloc [rtlib.o] PR_Malloc [prmem.c:38] nsAllocatorImpl::Alloc(unsigned int) [nsAllocator.cpp:77] nsAllocator::Alloc(unsigned int) [nsAllocator.cpp:143] nsMemoryAgent::Alloc(nsStr&,unsigned int) [nsStr.h:315] nsMemoryAgent::Realloc(nsStr&,unsigned int) [nsStr.h:335] nsStr::EnsureCapacity(nsStr&,unsigned int,nsIMemoryAgent*) [nsStr.cpp:227] nsStr::GrowCapacity(nsStr&,unsigned int,nsIMemoryAgent*) [nsStr.cpp:246] nsStr::Append(nsStr&,const nsStr&,unsigned int,int,nsIMemoryAgent*) [nsStr.cpp:289] nsString::Append(const unsigned short*,int) [nsString2.cpp:976] nsString::Assign(const unsigned short*,int) [nsString2.cpp:841] nsString::nsString(const unsigned short*,eCharSize,nsIMemoryAgent*) [nsString2.cpp:86] nsString::ToNewUnicode()const [nsString2.cpp:585] nsAttributeContent::GetText(const nsTextFragment*&,int&) [nsAttributeContent.cpp:401] nsTextTransformer::Init(nsIFrame*,int) [nsTextTransformer.cpp:86] nsTextFrame::Reflow(nsIPresContext&,nsHTMLReflowMetrics&,const nsHTMLReflowState&,unsigned int&) [nsTextFrame.cpp:2395] nsLineLayout::ReflowFrame(nsIFrame*,nsIFrame**,unsigned int&) [nsLineLayout.cpp:840] nsInlineFrame::ReflowInlineFrame(nsIPresContext*,const nsHTMLReflowState&,nsInlineFrame::InlineReflowState&,nsIFrame*,unsigned int&) [nsInlineFrame.cpp:1548] nsInlineFrame::ReflowInlineFrames(nsIPresContext*,const nsHTMLReflowState&,nsInlineFrame::InlineReflowState&,nsHTMLReflowMetrics&,unsign ed int&) [nsInlineFrame.cpp:1378] nsInlineFrame::Reflow(nsIPresContext&,nsHTMLReflowMetrics&,const nsHTMLReflowState&,unsigned int&) [nsInlineFrame.cpp:1294] nsLineLayout::ReflowFrame(nsIFrame*,nsIFrame**,unsigned int&) [nsLineLayout.cpp:840] nsBlockFrame::ReflowInlineFrame(nsBlockReflowState&,nsLineBox*,nsIFrame*,unsigne d char*) [nsBlockFrame.cpp:3084] nsBlockFrame::ReflowInlineFrames(nsBlockReflowState&,nsLineBox*,int*) [nsBlockFrame.cpp:2963] nsBlockFrame::ReflowLine(nsBlockReflowState&,nsLineBox*,int*,int) [nsBlockFrame.cpp:2178] nsBlockFrame::ReflowDirtyLines(nsBlockReflowState&) [nsBlockFrame.cpp:1925] nsBlockFrame::Reflow(nsIPresContext&,nsHTMLReflowMetrics&,const nsHTMLReflowState&,unsigned int&) [nsBlockFrame.cpp:1235] nsAreaFrame::Reflow(nsIPresContext&,nsHTMLReflowMetrics&,const nsHTMLReflowState&,unsigned int&) [nsAreaFrame.cpp:344] nsContainerFrame::ReflowChild(nsIFrame*,nsIPresContext&,nsHTMLReflowMetrics&,con st nsHTMLReflowState&,unsigned int&) [nsContainerFrame.cpp:439] nsHTMLButtonControlFrame::Reflow(nsIPresContext&,nsHTMLReflowMetrics&,const nsHTMLReflowState&,unsigned int&) [nsHTMLButtonControlFrame.cpp:500] nsGfxButtonControlFrame::Reflow(nsIPresContext&,nsHTMLReflowMetrics&,const nsHTMLReflowState&,unsigned int&) [nsGfxButtonControlFrame.cpp:191] * This block of memory was obtained using an allocation routine which is not compatible with the routine by which it is being freed.
Assignee: troy → rods
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Fixed via kipps check in 8/27/99 version 1.4
Status: RESOLVED → VERIFIED
Based on Rod's comments, marking verified fixed in the Sept 2nd build.
You need to log in before you can comment on or make changes to this bug.