Hi,
Please find the latest report on new defect(s) introduced to LibreOffice found with Coverity Scan.
12 new defect(s) introduced to LibreOffice found with Coverity Scan.
3 defect(s), reported by Coverity Scan earlier, were marked fixed in the recent build analyzed by
Coverity Scan.
New defect(s) Reported-by: Coverity Scan
Showing 12 of 12 defect(s)
** CID 1435920: (RESOURCE_LEAK)
/sc/source/core/data/conditio.cxx: 1162 in ScConditionEntry::IsValidStr(const rtl::OUString &,
const ScAddress &) const()
/sc/source/core/data/conditio.cxx: 1171 in ScConditionEntry::IsValidStr(const rtl::OUString &,
const ScAddress &) const()
/sc/source/core/data/conditio.cxx: 1175 in ScConditionEntry::IsValidStr(const rtl::OUString &,
const ScAddress &) const()
/sc/source/core/data/conditio.cxx: 1205 in ScConditionEntry::IsValidStr(const rtl::OUString &,
const ScAddress &) const()
/sc/source/core/data/conditio.cxx: 1224 in ScConditionEntry::IsValidStr(const rtl::OUString &,
const ScAddress &) const()
________________________________________________________________________________________________________
*** CID 1435920: (RESOURCE_LEAK)
/sc/source/core/data/conditio.cxx: 1162 in ScConditionEntry::IsValidStr(const rtl::OUString &,
const ScAddress &) const()
1156 return false;
1157
1158 OUString aUpVal1( aStrVal1 ); //TODO: As a member? (Also set in Interpret)
1159 OUString aUpVal2( aStrVal2 );
1160
1161 if ( eOp == ScConditionMode::Between || eOp == ScConditionMode::NotBetween )
CID 1435920: (RESOURCE_LEAK)
Failing to save or free storage allocated by "ScGlobal::GetCollator()" leaks it.
1162 if (ScGlobal::GetCollator()->compareString( aUpVal1, aUpVal2 ) > 0)
1163 {
1164 // Right order for value range
1165 OUString aTemp( aUpVal1 ); aUpVal1 = aUpVal2; aUpVal2 = aTemp;
1166 }
1167
/sc/source/core/data/conditio.cxx: 1171 in ScConditionEntry::IsValidStr(const rtl::OUString &,
const ScAddress &) const()
1165 OUString aTemp( aUpVal1 ); aUpVal1 = aUpVal2; aUpVal2 = aTemp;
1166 }
1167
1168 switch ( eOp )
1169 {
1170 case ScConditionMode::Equal:
CID 1435920: (RESOURCE_LEAK)
Failing to save or free storage allocated by "ScGlobal::GetCollator()" leaks it.
1171 bValid = (ScGlobal::GetCollator()->compareString(
1172 rArg, aUpVal1 ) == 0);
1173 break;
1174 case ScConditionMode::NotEqual:
1175 bValid = (ScGlobal::GetCollator()->compareString(
1176 rArg, aUpVal1 ) != 0);
/sc/source/core/data/conditio.cxx: 1175 in ScConditionEntry::IsValidStr(const rtl::OUString &,
const ScAddress &) const()
1169 {
1170 case ScConditionMode::Equal:
1171 bValid = (ScGlobal::GetCollator()->compareString(
1172 rArg, aUpVal1 ) == 0);
1173 break;
1174 case ScConditionMode::NotEqual:
CID 1435920: (RESOURCE_LEAK)
Failing to save or free storage allocated by "ScGlobal::GetCollator()" leaks it.
1175 bValid = (ScGlobal::GetCollator()->compareString(
1176 rArg, aUpVal1 ) != 0);
1177 break;
1178 case ScConditionMode::TopPercent:
1179 case ScConditionMode::BottomPercent:
1180 case ScConditionMode::Top10:
/sc/source/core/data/conditio.cxx: 1205 in ScConditionEntry::IsValidStr(const rtl::OUString &,
const ScAddress &) const()
1199 bValid = rArg.indexOf(aUpVal1) != -1;
1200 if(eOp == ScConditionMode::NotContainsText)
1201 bValid = !bValid;
1202 break;
1203 default:
1204 {
CID 1435920: (RESOURCE_LEAK)
Failing to save or free storage allocated by "ScGlobal::GetCollator()" leaks it.
1205 sal_Int32 nCompare = ScGlobal::GetCollator()->compareString(
1206 rArg, aUpVal1 );
1207 switch ( eOp )
1208 {
1209 case ScConditionMode::Greater:
1210 bValid = ( nCompare > 0 );
/sc/source/core/data/conditio.cxx: 1224 in ScConditionEntry::IsValidStr(const rtl::OUString &,
const ScAddress &) const()
1218 case ScConditionMode::EqLess:
1219 bValid = ( nCompare <= 0 );
1220 break;
1221 case ScConditionMode::Between:
1222 case ScConditionMode::NotBetween:
1223 // Test for NOTBETWEEN:
CID 1435920: (RESOURCE_LEAK)
Failing to save or free storage allocated by "ScGlobal::GetCollator()" leaks it.
1224 bValid = ( nCompare < 0 ||
1225 ScGlobal::GetCollator()->compareString( rArg,
1226 aUpVal2 ) > 0 );
1227 if ( eOp == ScConditionMode::Between )
1228 bValid = !bValid;
1229 break;
** CID 1435919: (RESOURCE_LEAK)
/sc/source/core/data/dociter.cxx: 1702 in ScQueryCellIterator::BinarySearch()()
/sc/source/core/data/dociter.cxx: 1702 in ScQueryCellIterator::BinarySearch()()
________________________________________________________________________________________________________
*** CID 1435919: (RESOURCE_LEAK)
/sc/source/core/data/dociter.cxx: 1702 in ScQueryCellIterator::BinarySearch()()
1696 ++nRow;
1697 }
1698 }
1699
1700 NonEmptyCellIndexer aIndexer(pCol->maCells, nRow, mpParam->nRow2, bAllStringIgnore);
1701 if (!aIndexer.isValid())
CID 1435919: (RESOURCE_LEAK)
Variable "pCollator" going out of scope leaks the storage it points to.
1702 return false;
1703
1704 size_t nLo = aIndexer.getLowIndex();
1705 size_t nHi = aIndexer.getHighIndex();
1706 NonEmptyCellIndexer::CellType aCellData;
1707
/sc/source/core/data/dociter.cxx: 1702 in ScQueryCellIterator::BinarySearch()()
1696 ++nRow;
1697 }
1698 }
1699
1700 NonEmptyCellIndexer aIndexer(pCol->maCells, nRow, mpParam->nRow2, bAllStringIgnore);
1701 if (!aIndexer.isValid())
CID 1435919: (RESOURCE_LEAK)
Variable "pCollator" going out of scope leaks the storage it points to.
1702 return false;
1703
1704 size_t nLo = aIndexer.getLowIndex();
1705 size_t nHi = aIndexer.getHighIndex();
1706 NonEmptyCellIndexer::CellType aCellData;
1707
** CID 1435918: (RESOURCE_LEAK)
/sc/source/core/tool/compare.cxx: 179 in sc::CompareFunc(const sc::Compare &, sc::CompareOptions
*)()
/sc/source/core/tool/compare.cxx: 193 in sc::CompareFunc(const sc::Compare &, sc::CompareOptions
*)()
________________________________________________________________________________________________________
*** CID 1435918: (RESOURCE_LEAK)
/sc/source/core/tool/compare.cxx: 179 in sc::CompareFunc(const sc::Compare &, sc::CompareOptions
*)()
173 fRes = (bMatch ? 0 : 1);
174 }
175 else if (rComp.mbIgnoreCase)
176 fRes = static_cast<double>(ScGlobal::GetCollator()->compareString(
177 rCell1.maStr.getString(), rCell2.maStr.getString()));
178 else
CID 1435918: (RESOURCE_LEAK)
Failing to save or free storage allocated by "ScGlobal::GetCaseCollator()" leaks it.
179 fRes = static_cast<double>(ScGlobal::GetCaseCollator()->compareString(
180 rCell1.maStr.getString(), rCell2.maStr.getString()));
181 }
182 else if (rComp.meOp == SC_EQUAL || rComp.meOp == SC_NOT_EQUAL)
183 {
184 if (rComp.mbIgnoreCase)
/sc/source/core/tool/compare.cxx: 193 in sc::CompareFunc(const sc::Compare &, sc::CompareOptions
*)()
187 fRes = (rCell1.maStr.getData() == rCell2.maStr.getData()) ? 0 : 1;
188 }
189 else if (rComp.mbIgnoreCase)
190 fRes = static_cast<double>(ScGlobal::GetCollator()->compareString(
191 rCell1.maStr.getString(), rCell2.maStr.getString()));
192 else
CID 1435918: (RESOURCE_LEAK)
Failing to save or free storage allocated by "ScGlobal::GetCaseCollator()" leaks it.
193 fRes = static_cast<double>(ScGlobal::GetCaseCollator()->compareString(
194 rCell1.maStr.getString(), rCell2.maStr.getString()));
195 }
196
197 if (nStringQuery && pOptions)
198 {
** CID 1435917: Resource leaks (RESOURCE_LEAK)
/sc/qa/unit/ucalc.cxx: 166 in Test::testCollator()()
________________________________________________________________________________________________________
*** CID 1435917: Resource leaks (RESOURCE_LEAK)
/sc/qa/unit/ucalc.cxx: 166 in Test::testCollator()()
160
161 void Test::testCollator()
162 {
163 CollatorWrapper* p = ScGlobal::GetCollator();
164 sal_Int32 nRes = p->compareString("A", "B");
165 CPPUNIT_ASSERT_MESSAGE("these strings are supposed to be different!", nRes != 0);
CID 1435917: Resource leaks (RESOURCE_LEAK)
Variable "p" going out of scope leaks the storage it points to.
166 }
167
168 void Test::testSharedStringPool()
169 {
170 m_pDoc->InsertTab(0, "foo");
171
** CID 1435916: Resource leaks (RESOURCE_LEAK)
/sc/source/ui/miscdlgs/acredlin.cxx: 1843 in ScAcceptChgDlg::ColCompareHdl(const SvSortData *)()
________________________________________________________________________________________________________
*** CID 1435916: Resource leaks (RESOURCE_LEAK)
/sc/source/ui/miscdlgs/acredlin.cxx: 1843 in ScAcceptChgDlg::ColCompareHdl(const SvSortData *)()
1837 SvLBoxItemType nLeftKind = pLeftItem->GetType();
1838 SvLBoxItemType nRightKind = pRightItem->GetType();
1839
1840 if (nRightKind == SvLBoxItemType::String &&
1841 nLeftKind == SvLBoxItemType::String)
1842 {
CID 1435916: Resource leaks (RESOURCE_LEAK)
Failing to save or free storage allocated by "ScGlobal::GetCaseCollator()" leaks it.
1843 nCompare = ScGlobal::GetCaseCollator()->compareString(
1844 static_cast<SvLBoxString*>(pLeftItem)->GetText(),
1845 static_cast<SvLBoxString*>(pRightItem)->GetText());
1846 }
1847 }
1848
** CID 1435915: (RESOURCE_LEAK)
/sc/source/core/tool/rangelst.cxx: 1314 in ScRangePairList_sortNameCompare::operator ()(const
ScRangePair *, const ScRangePair *) const()
/sc/source/core/tool/rangelst.cxx: 1345 in ScRangePairList_sortNameCompare::operator ()(const
ScRangePair *, const ScRangePair *) const()
________________________________________________________________________________________________________
*** CID 1435915: (RESOURCE_LEAK)
/sc/source/core/tool/rangelst.cxx: 1314 in ScRangePairList_sortNameCompare::operator ()(const
ScRangePair *, const ScRangePair *) const()
1308 if ( rStartPos1.Tab() == rStartPos2.Tab() )
1309 nComp = 0;
1310 else
1311 {
1312 mpDoc->GetName( rStartPos1.Tab(), aStr1 );
1313 mpDoc->GetName( rStartPos2.Tab(), aStr2 );
CID 1435915: (RESOURCE_LEAK)
Failing to save or free storage allocated by "ScGlobal::GetCollator()" leaks it.
1314 nComp = ScGlobal::GetCollator()->compareString( aStr1, aStr2 );
1315 }
1316 if (nComp < 0)
1317 {
1318 return true; // -1;
1319 }
/sc/source/core/tool/rangelst.cxx: 1345 in ScRangePairList_sortNameCompare::operator ()(const
ScRangePair *, const ScRangePair *) const()
1339 if ( rEndPos1.Tab() == rEndPos2.Tab() )
1340 nComp = 0;
1341 else
1342 {
1343 mpDoc->GetName( rEndPos1.Tab(), aStr1 );
1344 mpDoc->GetName( rEndPos2.Tab(), aStr2 );
CID 1435915: (RESOURCE_LEAK)
Failing to save or free storage allocated by "ScGlobal::GetCollator()" leaks it.
1345 nComp = ScGlobal::GetCollator()->compareString( aStr1, aStr2 );
1346 }
1347 if (nComp < 0)
1348 {
1349 return true; // -1;
1350 }
** CID 1435914: (RESOURCE_LEAK)
/sc/source/core/tool/compare.cxx: 176 in sc::CompareFunc(const sc::Compare &, sc::CompareOptions
*)()
/sc/source/core/tool/compare.cxx: 190 in sc::CompareFunc(const sc::Compare &, sc::CompareOptions
*)()
________________________________________________________________________________________________________
*** CID 1435914: (RESOURCE_LEAK)
/sc/source/core/tool/compare.cxx: 176 in sc::CompareFunc(const sc::Compare &, sc::CompareOptions
*)()
170 rCell2.maStr.getLength(), nullptr));
171 bMatch = (aCell.indexOf( aQuer ) != -1);
172 }
173 fRes = (bMatch ? 0 : 1);
174 }
175 else if (rComp.mbIgnoreCase)
CID 1435914: (RESOURCE_LEAK)
Failing to save or free storage allocated by "ScGlobal::GetCollator()" leaks it.
176 fRes = static_cast<double>(ScGlobal::GetCollator()->compareString(
177 rCell1.maStr.getString(), rCell2.maStr.getString()));
178 else
179 fRes = static_cast<double>(ScGlobal::GetCaseCollator()->compareString(
180 rCell1.maStr.getString(), rCell2.maStr.getString()));
181 }
/sc/source/core/tool/compare.cxx: 190 in sc::CompareFunc(const sc::Compare &, sc::CompareOptions
*)()
184 if (rComp.mbIgnoreCase)
185 fRes = (rCell1.maStr.getDataIgnoreCase() ==
rCell2.maStr.getDataIgnoreCase()) ? 0 : 1;
186 else
187 fRes = (rCell1.maStr.getData() == rCell2.maStr.getData()) ? 0 : 1;
188 }
189 else if (rComp.mbIgnoreCase)
CID 1435914: (RESOURCE_LEAK)
Failing to save or free storage allocated by "ScGlobal::GetCollator()" leaks it.
190 fRes = static_cast<double>(ScGlobal::GetCollator()->compareString(
191 rCell1.maStr.getString(), rCell2.maStr.getString()));
192 else
193 fRes = static_cast<double>(ScGlobal::GetCaseCollator()->compareString(
194 rCell1.maStr.getString(), rCell2.maStr.getString()));
195 }
** CID 1435913: (FORWARD_NULL)
/sd/source/ui/view/sdview.cxx: 702 in sd::View::SdrBeginTextEdit(SdrObject *, SdrPageView *,
vcl::Window *, bool, SdrOutliner *, OutlinerView *, bool, bool, bool)()
/sd/source/ui/view/sdview.cxx: 702 in sd::View::SdrBeginTextEdit(SdrObject *, SdrPageView *,
vcl::Window *, bool, SdrOutliner *, OutlinerView *, bool, bool, bool)()
________________________________________________________________________________________________________
*** CID 1435913: (FORWARD_NULL)
/sd/source/ui/view/sdview.cxx: 702 in sd::View::SdrBeginTextEdit(SdrObject *, SdrPageView *,
vcl::Window *, bool, SdrOutliner *, OutlinerView *, bool, bool, bool)()
696 bOnlyOneView, bGrabFocus);
697
698 if ( mpViewSh )
699 {
700 mpViewSh->GetViewShellBase().GetDrawController().FireSelectionChangeListener();
701
CID 1435913: (FORWARD_NULL)
Passing null pointer "pObj" to "GetObjIdentifier", which dereferences it. (The dereference
happens because this is a virtual function call.)
702 if (pObj->GetObjIdentifier() == OBJ_TABLE)
703 mpViewSh->UpdateScrollBars();
704
705 if (comphelper::LibreOfficeKit::isActive())
706 {
707 if (OutlinerView* pView = GetTextEditOutlinerView())
/sd/source/ui/view/sdview.cxx: 702 in sd::View::SdrBeginTextEdit(SdrObject *, SdrPageView *,
vcl::Window *, bool, SdrOutliner *, OutlinerView *, bool, bool, bool)()
696 bOnlyOneView, bGrabFocus);
697
698 if ( mpViewSh )
699 {
700 mpViewSh->GetViewShellBase().GetDrawController().FireSelectionChangeListener();
701
CID 1435913: (FORWARD_NULL)
Passing null pointer "pObj" to "GetObjIdentifier", which dereferences it. (The dereference
happens because this is a virtual function call.)
702 if (pObj->GetObjIdentifier() == OBJ_TABLE)
703 mpViewSh->UpdateScrollBars();
704
705 if (comphelper::LibreOfficeKit::isActive())
706 {
707 if (OutlinerView* pView = GetTextEditOutlinerView())
** CID 1435912: (RESOURCE_LEAK)
/sc/source/core/data/dpcache.cxx: 884 in ScDPCache::ValidQuery(int, const ScQueryParam &) const()
/sc/source/core/data/dpcache.cxx: 884 in ScDPCache::ValidQuery(int, const ScQueryParam &) const()
________________________________________________________________________________________________________
*** CID 1435912: (RESOURCE_LEAK)
/sc/source/core/data/dpcache.cxx: 884 in ScDPCache::ValidQuery(int, const ScQueryParam &) const()
878 }
879
880 for (long j=1; j <= nPos; j++)
881 aPassed[0] = aPassed[0] || aPassed[j];
882
883 bool bRet = aPassed[0];
CID 1435912: (RESOURCE_LEAK)
Variable "pCollator" going out of scope leaks the storage it points to.
884 return bRet;
885 }
886
887 ScDocument* ScDPCache::GetDoc() const
888 {
889 return mpDoc;
/sc/source/core/data/dpcache.cxx: 884 in ScDPCache::ValidQuery(int, const ScQueryParam &) const()
878 }
879
880 for (long j=1; j <= nPos; j++)
881 aPassed[0] = aPassed[0] || aPassed[j];
882
883 bool bRet = aPassed[0];
CID 1435912: (RESOURCE_LEAK)
Variable "pCollator" going out of scope leaks the storage it points to.
884 return bRet;
885 }
886
887 ScDocument* ScDPCache::GetDoc() const
888 {
889 return mpDoc;
** CID 1435911: API usage errors (SWAPPED_ARGUMENTS)
________________________________________________________________________________________________________
*** CID 1435911: API usage errors (SWAPPED_ARGUMENTS)
/drawinglayer/source/texture/texture3d.cxx: 168 in
drawinglayer::texture::GeoTexSvxBitmapEx::modifyOpacity(const basegfx::B2DPoint &, double &) const()
162
163 rfOpacity = 1.0 - ((1.0 - fNewOpacity) * (1.0 - rfOpacity));
164 }
165 else
166 {
167 // this texture is a color bitmap used as transparence map
CID 1435911: API usage errors (SWAPPED_ARGUMENTS)
The positions of arguments in the call to "GetPixelColor" do not match the ordering of the
parameters:
* "nY" is passed to "nX"
* "nX" is passed to "nY"
168 const ::Color aColor(maBitmapEx.GetPixelColor(nY, nX));
169
170 rfOpacity = (static_cast<double>(0xff - aColor.GetLuminance()) * (1.0 /
255.0));
171 }
172 }
173 else
** CID 1435910: Resource leaks (RESOURCE_LEAK)
/sc/source/core/tool/interpr1.cxx: 6509 in ScInterpreter::ScLookup()()
________________________________________________________________________________________________________
*** CID 1435910: Resource leaks (RESOURCE_LEAK)
/sc/source/core/tool/interpr1.cxx: 6509 in ScInterpreter::ScLookup()()
6503 }
6504 else
6505 {
6506 if (rItem.meType != ScQueryEntry::ByString)
6507 bFound = false;
6508 else
CID 1435910: Resource leaks (RESOURCE_LEAK)
Failing to save or free storage allocated by "ScGlobal::GetCollator()" leaks it.
6509 bFound = (ScGlobal::GetCollator()->compareString(aDataStr.getString(),
rItem.maString.getString()) <= 0);
6510 }
6511
6512 if (!bFound)
6513 {
6514 PushNA();
** CID 1435909: (RESOURCE_LEAK)
/sc/source/core/data/dociter.cxx: 738 in ScDBQueryDataIterator::DataAccessMatrix::isValidQuery(int,
const ScMatrix &) const()
/sc/source/core/data/dociter.cxx: 740 in ScDBQueryDataIterator::DataAccessMatrix::isValidQuery(int,
const ScMatrix &) const()
/sc/source/core/data/dociter.cxx: 738 in ScDBQueryDataIterator::DataAccessMatrix::isValidQuery(int,
const ScMatrix &) const()
/sc/source/core/data/dociter.cxx: 740 in ScDBQueryDataIterator::DataAccessMatrix::isValidQuery(int,
const ScMatrix &) const()
________________________________________________________________________________________________________
*** CID 1435909: (RESOURCE_LEAK)
/sc/source/core/data/dociter.cxx: 738 in ScDBQueryDataIterator::DataAccessMatrix::isValidQuery(int,
const ScMatrix &) const()
732 }
733
734 // Row is valid as long as there is at least one result being true.
735 vector<bool>::const_iterator itr = aResults.begin(), itrEnd = aResults.end();
736 for (; itr != itrEnd; ++itr)
737 if (*itr)
CID 1435909: (RESOURCE_LEAK)
Variable "rCollator" going out of scope leaks the storage it points to.
738 return true;
739
740 return false;
741 }
742
743 ScDBQueryDataIterator::Value::Value() :
/sc/source/core/data/dociter.cxx: 740 in ScDBQueryDataIterator::DataAccessMatrix::isValidQuery(int,
const ScMatrix &) const()
734 // Row is valid as long as there is at least one result being true.
735 vector<bool>::const_iterator itr = aResults.begin(), itrEnd = aResults.end();
736 for (; itr != itrEnd; ++itr)
737 if (*itr)
738 return true;
739
CID 1435909: (RESOURCE_LEAK)
Variable "rCollator" going out of scope leaks the storage it points to.
740 return false;
741 }
742
743 ScDBQueryDataIterator::Value::Value() :
744 mnError(FormulaError::NONE), mbIsNumber(true)
745 {
/sc/source/core/data/dociter.cxx: 738 in ScDBQueryDataIterator::DataAccessMatrix::isValidQuery(int,
const ScMatrix &) const()
732 }
733
734 // Row is valid as long as there is at least one result being true.
735 vector<bool>::const_iterator itr = aResults.begin(), itrEnd = aResults.end();
736 for (; itr != itrEnd; ++itr)
737 if (*itr)
CID 1435909: (RESOURCE_LEAK)
Variable "rCollator" going out of scope leaks the storage it points to.
738 return true;
739
740 return false;
741 }
742
743 ScDBQueryDataIterator::Value::Value() :
/sc/source/core/data/dociter.cxx: 740 in ScDBQueryDataIterator::DataAccessMatrix::isValidQuery(int,
const ScMatrix &) const()
734 // Row is valid as long as there is at least one result being true.
735 vector<bool>::const_iterator itr = aResults.begin(), itrEnd = aResults.end();
736 for (; itr != itrEnd; ++itr)
737 if (*itr)
738 return true;
739
CID 1435909: (RESOURCE_LEAK)
Variable "rCollator" going out of scope leaks the storage it points to.
740 return false;
741 }
742
743 ScDBQueryDataIterator::Value::Value() :
744 mnError(FormulaError::NONE), mbIsNumber(true)
745 {
________________________________________________________________________________________________________
To view the defects in Coverity Scan visit,
https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRZBnDJeNb0HijxaS4JNJPxk3kpyAm2AYqo71yXmnOxB72ibeUH-2F-2F1Lhi9AZq3dRu-2F4-3D_g-2BrHdvqzaBa155F-2F8AmPhpJzY63UzWDisJV95WUBpGhqFw1ICExHG8aMaV2EoFpyV89HAOLKnLItfOGqkcwzRf1CUCGclvb7B5tZ0ywsle3IbAW74WOrb3qA4tjx9f6sF3KkFa5ok45no17Gv1bsKb-2FzyNiM3Re-2Ba6y1byqbolqQ0lceUXpNDdjpd6mLYLrpuUH22sDZA9GtYYzGX90-2BoH-2BpEood9GDpYSfZWOKt3XM-3D
Context
- New Defects reported by Coverity Scan for LibreOffice · scan-admin
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.