Kaydet (Commit) 5fa44620 authored tarafından Caolán McNamara's avatar Caolán McNamara

ofz#7861 fuzzer ooms

too many frequent tiny allocations in a short time span I believe

Change-Id: Iaccae6db7d18c9cd2f909f94dbe81a7dc6458bc2
Reviewed-on: https://gerrit.libreoffice.org/53589Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst af1c5b95
...@@ -162,7 +162,7 @@ public: ...@@ -162,7 +162,7 @@ public:
void Move(const Point &rPosition); void Move(const Point &rPosition);
void MoveTo(const Point &rPosition) { Move(rPosition - GetTopLeft()); } void MoveTo(const Point &rPosition) { Move(rPosition - GetTopLeft()); }
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) = 0; virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) = 0;
virtual void CreateTextFromNode(OUString &rText); virtual void CreateTextFromNode(OUStringBuffer &rText);
virtual void GetAccessibleText( OUStringBuffer &rText ) const = 0; virtual void GetAccessibleText( OUStringBuffer &rText ) const = 0;
sal_Int32 GetAccessibleIndex() const { return mnAccIndex; } sal_Int32 GetAccessibleIndex() const { return mnAccIndex; }
...@@ -333,7 +333,7 @@ public: ...@@ -333,7 +333,7 @@ public:
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override; virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override;
void CreateTextFromNode(OUString &rText) override; void CreateTextFromNode(OUStringBuffer &rText) override;
void Accept(SmVisitor* pVisitor) override; void Accept(SmVisitor* pVisitor) override;
}; };
...@@ -414,7 +414,7 @@ public: ...@@ -414,7 +414,7 @@ public:
virtual void Prepare(const SmFormat &rFormat, const SmDocShell &rDocShell, int nDepth) override; virtual void Prepare(const SmFormat &rFormat, const SmDocShell &rDocShell, int nDepth) override;
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override; virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override;
virtual void CreateTextFromNode(OUString &rText) override; virtual void CreateTextFromNode(OUStringBuffer &rText) override;
virtual void GetAccessibleText( OUStringBuffer &rText ) const override; virtual void GetAccessibleText( OUStringBuffer &rText ) const override;
void Accept(SmVisitor* pVisitor) override; void Accept(SmVisitor* pVisitor) override;
...@@ -494,7 +494,7 @@ public: ...@@ -494,7 +494,7 @@ public:
virtual void Prepare(const SmFormat &rFormat, const SmDocShell &rDocShell, int nDepth) override; virtual void Prepare(const SmFormat &rFormat, const SmDocShell &rDocShell, int nDepth) override;
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override; virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override;
void CreateTextFromNode(OUString &rText) override; void CreateTextFromNode(OUStringBuffer &rText) override;
void Accept(SmVisitor* pVisitor) override; void Accept(SmVisitor* pVisitor) override;
}; };
...@@ -651,7 +651,7 @@ public: ...@@ -651,7 +651,7 @@ public:
{} {}
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override; virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override;
void CreateTextFromNode(OUString &rText) override; void CreateTextFromNode(OUStringBuffer &rText) override;
void Accept(SmVisitor* pVisitor) override; void Accept(SmVisitor* pVisitor) override;
}; };
...@@ -693,7 +693,7 @@ public: ...@@ -693,7 +693,7 @@ public:
} }
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override; virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override;
void CreateTextFromNode(OUString &rText) override; void CreateTextFromNode(OUStringBuffer &rText) override;
void Accept(SmVisitor* pVisitor) override; void Accept(SmVisitor* pVisitor) override;
SmNode* Argument(); SmNode* Argument();
...@@ -759,7 +759,7 @@ public: ...@@ -759,7 +759,7 @@ public:
virtual const SmNode * GetLeftMost() const override; virtual const SmNode * GetLeftMost() const override;
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override; virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override;
void CreateTextFromNode(OUString &rText) override; void CreateTextFromNode(OUStringBuffer &rText) override;
void Accept(SmVisitor* pVisitor) override; void Accept(SmVisitor* pVisitor) override;
}; };
...@@ -869,7 +869,7 @@ public: ...@@ -869,7 +869,7 @@ public:
void SetSubSup(SmSubSup eSubSup, SmNode* pScript) { SetSubNode( 1 + eSubSup, pScript); } void SetSubSup(SmSubSup eSubSup, SmNode* pScript) { SetSubNode( 1 + eSubSup, pScript); }
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override; virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override;
void CreateTextFromNode(OUString &rText) override; void CreateTextFromNode(OUStringBuffer &rText) override;
void Accept(SmVisitor* pVisitor) override; void Accept(SmVisitor* pVisitor) override;
}; };
...@@ -904,7 +904,7 @@ public: ...@@ -904,7 +904,7 @@ public:
const SmMathSymbolNode* ClosingBrace() const; const SmMathSymbolNode* ClosingBrace() const;
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override; virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override;
void CreateTextFromNode(OUString &rText) override; void CreateTextFromNode(OUStringBuffer &rText) override;
void Accept(SmVisitor* pVisitor) override; void Accept(SmVisitor* pVisitor) override;
}; };
...@@ -1035,7 +1035,7 @@ public: ...@@ -1035,7 +1035,7 @@ public:
{} {}
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override; virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override;
void CreateTextFromNode(OUString &rText) override; void CreateTextFromNode(OUStringBuffer &rText) override;
void Accept(SmVisitor* pVisitor) override; void Accept(SmVisitor* pVisitor) override;
SmNode* Attribute(); SmNode* Attribute();
...@@ -1068,7 +1068,7 @@ public: ...@@ -1068,7 +1068,7 @@ public:
virtual void Prepare(const SmFormat &rFormat, const SmDocShell &rDocShell, int nDepth) override; virtual void Prepare(const SmFormat &rFormat, const SmDocShell &rDocShell, int nDepth) override;
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override; virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override;
void CreateTextFromNode(OUString &rText) override; void CreateTextFromNode(OUStringBuffer &rText) override;
void Accept(SmVisitor* pVisitor) override; void Accept(SmVisitor* pVisitor) override;
}; };
...@@ -1098,7 +1098,7 @@ public: ...@@ -1098,7 +1098,7 @@ public:
virtual const SmNode * GetLeftMost() const override; virtual const SmNode * GetLeftMost() const override;
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override; virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override;
void CreateTextFromNode(OUString &rText) override; void CreateTextFromNode(OUStringBuffer &rText) override;
void Accept(SmVisitor* pVisitor) override; void Accept(SmVisitor* pVisitor) override;
}; };
...@@ -1126,7 +1126,7 @@ public: ...@@ -1126,7 +1126,7 @@ public:
virtual void Prepare(const SmFormat &rFormat, const SmDocShell &rDocShell, int nDepth) override; virtual void Prepare(const SmFormat &rFormat, const SmDocShell &rDocShell, int nDepth) override;
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override; virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override;
void Accept(SmVisitor* pVisitor) override; void Accept(SmVisitor* pVisitor) override;
virtual void CreateTextFromNode(OUString &rText) override; virtual void CreateTextFromNode(OUStringBuffer &rText) override;
}; };
......
...@@ -515,9 +515,11 @@ void SmXMLImport::endDocument() ...@@ -515,9 +515,11 @@ void SmXMLImport::endDocument()
pDocShell->SetFormulaTree(static_cast<SmTableNode *>(pTree)); pDocShell->SetFormulaTree(static_cast<SmTableNode *>(pTree));
if (aText.isEmpty()) //If we picked up no annotation text if (aText.isEmpty()) //If we picked up no annotation text
{ {
OUStringBuffer aStrBuf;
// Get text from imported formula // Get text from imported formula
pTree->CreateTextFromNode(aText); pTree->CreateTextFromNode(aStrBuf);
aText = comphelper::string::stripEnd(aText, ' '); aStrBuf.stripEnd(' ');
aText = aStrBuf.makeStringAndClear();
} }
// Convert symbol names // Convert symbol names
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment