[Libreoffice-commits] .: sc/source
Michael Meeks
michael at kemper.freedesktop.org
Thu Feb 23 05:00:43 PST 2012
sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx | 33 +++++++----------
1 file changed, 15 insertions(+), 18 deletions(-)
New commits:
commit f881540b3295c17286f8003c7b897907bf9f57cb
Author: Catalin Iacob <iacobcatalin at gmail.com>
Date: Thu Feb 23 12:57:22 2012 +0000
cppcheck: fix "possible null dereference" in ScMyCellInfo::CreateCell.
diff --git a/sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx b/sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx
index 55140b1..4359929 100644
--- a/sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx
+++ b/sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx
@@ -63,26 +63,23 @@ ScMyCellInfo::~ScMyCellInfo()
ScBaseCell* ScMyCellInfo::CreateCell(ScDocument* pDoc)
{
- if (pDoc)
+ if (!pCell && !sFormula.isEmpty() && !sFormulaAddress.isEmpty())
{
- if (!pCell && !sFormula.isEmpty() && !sFormulaAddress.isEmpty())
- {
- ScAddress aPos;
- sal_Int32 nOffset(0);
- ScRangeStringConverter::GetAddressFromString(aPos, sFormulaAddress, pDoc, ::formula::FormulaGrammar::CONV_OOO, nOffset);
- pCell = new ScFormulaCell(pDoc, aPos, sFormula, eGrammar, nMatrixFlag);
- static_cast<ScFormulaCell*>(pCell)->SetMatColsRows(static_cast<SCCOL>(nMatrixCols), static_cast<SCROW>(nMatrixRows));
- }
+ ScAddress aPos;
+ sal_Int32 nOffset(0);
+ ScRangeStringConverter::GetAddressFromString(aPos, sFormulaAddress, pDoc, ::formula::FormulaGrammar::CONV_OOO, nOffset);
+ pCell = new ScFormulaCell(pDoc, aPos, sFormula, eGrammar, nMatrixFlag);
+ static_cast<ScFormulaCell*>(pCell)->SetMatColsRows(static_cast<SCCOL>(nMatrixCols), static_cast<SCROW>(nMatrixRows));
+ }
- if ((nType == NUMBERFORMAT_DATE || nType == NUMBERFORMAT_TIME) && sInputString.Len() == 0)
- {
- sal_uInt32 nFormat(0);
- if (nType == NUMBERFORMAT_DATE)
- nFormat = pDoc->GetFormatTable()->GetStandardFormat( NUMBERFORMAT_DATE, ScGlobal::eLnge );
- else if (nType == NUMBERFORMAT_TIME)
- nFormat = pDoc->GetFormatTable()->GetStandardFormat( NUMBERFORMAT_TIME, ScGlobal::eLnge );
- pDoc->GetFormatTable()->GetInputLineString(fValue, nFormat, sInputString);
- }
+ if ((nType == NUMBERFORMAT_DATE || nType == NUMBERFORMAT_TIME) && sInputString.Len() == 0)
+ {
+ sal_uInt32 nFormat(0);
+ if (nType == NUMBERFORMAT_DATE)
+ nFormat = pDoc->GetFormatTable()->GetStandardFormat( NUMBERFORMAT_DATE, ScGlobal::eLnge );
+ else if (nType == NUMBERFORMAT_TIME)
+ nFormat = pDoc->GetFormatTable()->GetStandardFormat( NUMBERFORMAT_TIME, ScGlobal::eLnge );
+ pDoc->GetFormatTable()->GetInputLineString(fValue, nFormat, sInputString);
}
return pCell ? pCell->CloneWithoutNote( *pDoc ) : 0;
More information about the Libreoffice-commits
mailing list