[arch-commits] Commit in root/trunk (9271.patch PKGBUILD)

Konstantin Gizdov kgizdov at gemini.archlinux.org
Tue Nov 23 15:44:31 UTC 2021


    Date: Tuesday, November 23, 2021 @ 15:44:31
  Author: kgizdov
Revision: 1054473

upgpkg: root 6.24.06-6: updated nonnull patch

Modified:
  root/trunk/9271.patch
  root/trunk/PKGBUILD

------------+
 9271.patch |   53 ++++++++++++++++++++++++++++++++++++++++-------------
 PKGBUILD   |    4 ++--
 2 files changed, 42 insertions(+), 15 deletions(-)

Modified: 9271.patch
===================================================================
--- 9271.patch	2021-11-23 15:35:57 UTC (rev 1054472)
+++ 9271.patch	2021-11-23 15:44:31 UTC (rev 1054473)
@@ -1,8 +1,30 @@
+From ef095d953b7632654dcd93aa3151508dfefa22d3 Mon Sep 17 00:00:00 2001
+From: Konstantin Gizdov <kgizdov at gmail.com>
+Date: Thu, 11 Nov 2021 01:57:36 +0200
+Subject: [PATCH] backport 'address some -Wnonnull issue and follow-up
+ improvements' to v6-24-00-patches
+
+RooFit::HistFactory::ConfigParser: fix null dereferences, improve logic, modernise, fix some edge cases, optimise performance
+RooAddModel: fix null dereferences
+TMVA::DataLoader: calling .front() in an empty container is undefined, fix also null ptr dereference
+RooDataHist and RooRealSumFunc fixes for null dereferences
+RooAbsCollection: safer Int_t getSize() and RooAbsArg* front(), offer alternatives
+RooDataHist::_adjustBinning throw std::logic_error when pass type is not derived from real
+clang-format applied
+---
+ roofit/histfactory/src/ConfigParser.cxx       | 469 ++++++++----------
+ roofit/roofitcore/inc/RooAbsCollection.h      |  17 +-
+ roofit/roofitcore/src/RooAddModel.cxx         | 114 +++--
+ roofit/roofitcore/src/RooDataHist.cxx         |  15 +-
+ roofit/roofitcore/src/RooRealSumFunc.cxx      |   5 +-
+ .../Architectures/Reference/DataLoader.cxx    |  12 +
+ 6 files changed, 299 insertions(+), 333 deletions(-)
+
 diff --git a/roofit/histfactory/src/ConfigParser.cxx b/roofit/histfactory/src/ConfigParser.cxx
-index 227a16b6a0..f1d7eba4f4 100644
+index 227a16b6a0a9..3ec032579037 100644
 --- a/roofit/histfactory/src/ConfigParser.cxx
 +++ b/roofit/histfactory/src/ConfigParser.cxx
-@@ -260,280 +260,210 @@ std::vector< RooStats::HistFactory::Measurement > ConfigParser::GetMeasurementsF
+@@ -260,280 +260,215 @@ std::vector< RooStats::HistFactory::Measurement > ConfigParser::GetMeasurementsF
    return measurement_list;
  
  }
@@ -104,7 +126,8 @@
 +   TXMLAttr *curAttr = nullptr;
 +   while ((/**/ curAttr = dynamic_cast<TXMLAttr *>(attribIt()) /**/) != nullptr) {
 +      // curAttr is guaranteed non-null above
-+      const std::string curAttrName(curAttr->GetName()), curAttrValue(curAttr->GetValue());
++      const std::string curAttrName(curAttr->GetName() ? curAttr->GetName() : ""),
++         curAttrValue(curAttr->GetValue() ? curAttr->GetValue() : "");
 +      if (curAttrName == "") {
 +         cxcoutEHF << "Found XML attribute in Measurement with no name.\n";
 +         // ADD Output Here
@@ -174,7 +197,9 @@
 +   // Then, get the properties of the children nodes
 +   TXMLNode *child = node->GetChildren();
 +   while (child != nullptr) {
-+      const std::string childName(child->GetName()), childNodeName(child->GetNodeName()), childText(child->GetText());
++      const std::string childName(child->GetName() ? child->GetName() : ""),
++         childNodeName(child->GetNodeName() ? child->GetNodeName() : ""),
++         childText(child->GetText() ? child->GetText() : "");
 +      if (childNodeName.empty()) {
 +         cxcoutEHF << "Found XML child node of Measurement with no name\n";
 +         throw hf_exc();
@@ -190,7 +215,7 @@
 +         TXMLAttr *curParam = nullptr;
 +         while ((/**/ curParam = dynamic_cast<TXMLAttr *>(paramIt()) /**/) != nullptr) {
 +            // curParam is guaranteed non-null above
-+            const std::string curParamName(curParam->GetName());
++            const std::string curParamName(curParam->GetName() ? curParam->GetName() : "");
 +            if (curParamName.empty()) {
 +               cxcoutEHF << "Error: Found tag attribute with no name in ParamSetting\n";
 +               throw hf_exc();
@@ -228,7 +253,8 @@
 +         attribIt = child->GetAttributes();
 +         curAttr = nullptr;
 +         while ((/**/ curAttr = dynamic_cast<TXMLAttr *>(attribIt()) /**/) != nullptr) {
-+            const std::string curAttrName(curAttr->GetName()), curAttrValue(curAttr->GetValue());
++            const std::string curAttrName(curAttr->GetName() ? curAttr->GetName() : ""),
++               curAttrValue(curAttr->GetValue() ? curAttr->GetValue() : "");
 +            if (curAttrName.empty()) {
 +               cxcoutEHF << "Error: Found tag attribute with no name in ConstraintTerm\n";
 +               throw hf_exc();
@@ -267,7 +293,8 @@
 +         attribIt = child->GetAttributes();
 +         curAttr = nullptr;
 +         while ((/**/ curAttr = dynamic_cast<TXMLAttr *>(attribIt()) /**/) != nullptr) {
-+            const std::string curAttrName(curAttr->GetName()), curAttrValue(curAttr->GetValue());
++            const std::string curAttrName(curAttr->GetName() ? curAttr->GetName() : ""),
++               curAttrValue(curAttr->GetValue() ? curAttr->GetValue() : "");
 +            if (curAttrName.empty()) {
 +               cxcoutEHF << "Error: Found tag attribute with no name in ConstraintTerm\n";
 +               throw hf_exc();
@@ -481,10 +508,10 @@
  
    /*
 diff --git a/roofit/roofitcore/inc/RooAbsCollection.h b/roofit/roofitcore/inc/RooAbsCollection.h
-index 5c2d733a06..0ea54abd33 100644
+index 5c2d733a0674..0ea54abd33b4 100644
 --- a/roofit/roofitcore/inc/RooAbsCollection.h
 +++ b/roofit/roofitcore/inc/RooAbsCollection.h
-@@ -179,14 +179,17 @@ public:
+@@ -179,14 +179,17 @@ class RooAbsCollection : public TObject, public RooPrintable {
      removeAll();
    }
  
@@ -510,7 +537,7 @@
  
    RooAbsArg * operator[](Storage_t::size_type i) const {
 diff --git a/roofit/roofitcore/src/RooAddModel.cxx b/roofit/roofitcore/src/RooAddModel.cxx
-index cc72e8e55a..ce072f9eb7 100644
+index cc72e8e55aa2..ce072f9eb745 100644
 --- a/roofit/roofitcore/src/RooAddModel.cxx
 +++ b/roofit/roofitcore/src/RooAddModel.cxx
 @@ -97,63 +97,71 @@ RooAddModel::RooAddModel(const char *name, const char *title, const RooArgList&
@@ -639,7 +666,7 @@
  /// Copy constructor
  
 diff --git a/roofit/roofitcore/src/RooDataHist.cxx b/roofit/roofitcore/src/RooDataHist.cxx
-index 5bd49acdbe..3b132c7766 100644
+index 5bd49acdbeab..3b132c776695 100644
 --- a/roofit/roofitcore/src/RooDataHist.cxx
 +++ b/roofit/roofitcore/src/RooDataHist.cxx
 @@ -573,10 +573,17 @@ void RooDataHist::importDHistSet(const RooArgList& /*vars*/, RooCategory& indexC
@@ -665,7 +692,7 @@
    const double xlo = theirVar.getMin();
    const double xhi = theirVar.getMax();
 diff --git a/roofit/roofitcore/src/RooRealSumFunc.cxx b/roofit/roofitcore/src/RooRealSumFunc.cxx
-index cbff7435b6..6e9fa40f5d 100644
+index cbff7435b648..6e9fa40f5da5 100644
 --- a/roofit/roofitcore/src/RooRealSumFunc.cxx
 +++ b/roofit/roofitcore/src/RooRealSumFunc.cxx
 @@ -152,8 +152,9 @@ RooRealSumFunc::RooRealSumFunc(const char *name, const char *title, const RooArg
@@ -681,7 +708,7 @@
        }
        _funcList.add(*func);
 diff --git a/tmva/tmva/src/DNN/Architectures/Reference/DataLoader.cxx b/tmva/tmva/src/DNN/Architectures/Reference/DataLoader.cxx
-index 2465abf308..1724805382 100644
+index 2465abf3085f..1724805382ac 100644
 --- a/tmva/tmva/src/DNN/Architectures/Reference/DataLoader.cxx
 +++ b/tmva/tmva/src/DNN/Architectures/Reference/DataLoader.cxx
 @@ -145,6 +145,9 @@ void TDataLoader<TMVAInput_t, TReference<Real_t>>::CopyInput(TMatrixT<Real_t> &m

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2021-11-23 15:35:57 UTC (rev 1054472)
+++ PKGBUILD	2021-11-23 15:44:31 UTC (rev 1054473)
@@ -7,7 +7,7 @@
 pkgbase=root
 pkgname=('root' 'root-cuda')
 pkgver=6.24.06
-pkgrel=5
+pkgrel=6
 pkgdesc='C++ data analysis framework and interpreter from CERN'
 arch=('x86_64')
 url='https://root.cern'
@@ -108,7 +108,7 @@
             '1c905ee7a3f8f5f3f567d957f9be6b503a8631565d4d9b9bfea5e496ef86865c5a8be1a1f8c7842754029879cf0afd2465249f532a116cc43660aa2e460ae682'
             '12814f50b7016bd86d3f91e0e31c052783a0c0fa72b7d6a072d3ae6f86c2437323d585e531235377ebbfdd9cb76abd7da84d9631de821151547f1d4b13417e69'
             '870740fbbd678056dd71b275c5d96f9b0db503ca8e0e9e84f784c3115aae66bb28a1eb531f665c1c8306a52686e5ce484ef65b3194bef6cb0d631664ccb1e3f9'
-            'c31ac51da9acbde068dea230e30445e0428a082c56f2e899ffc1113ed4c391a165cbe54c5d6d0fe9858bfd2ed177075349ab749d0c5b8c68413dd852a398da2d'
+            '6ba0994fa62d9a59a6382b9beafd044d0fb7bd45048c531d0437844a98f7ef40dcd45565670cb5a7adc7dc040885d3b7dbea73448ba1cd30fb9764d4f0890cd5'
             '3b9e382480b28f60af0b096ac9a42e6ba611b899717988bdebffd5aeabab054e37a28a7421f4a0f39198638c31f56a657a8a9ccc3db54a87daf50d43d35b1ca9')
 
 get_pyver () {



More information about the arch-commits mailing list