fix a segfault in iterator of a ConfigParser section
authorMiro Hrončok <miro@hroncok.cz>
Mon, 27 Jan 2025 11:16:37 +0000 (11:16 +0000)
committerLuca Boccassi <bluca@debian.org>
Mon, 27 Jan 2025 11:16:37 +0000 (11:16 +0000)
Origin: https://github.com/rpm-software-management/libdnf/commit/f3302a865b230e021e9defbcea978ed1290a9b2f
Forwarded: https://github.com/rpm-software-management/libdnf/pull/1682

Gbp-Pq: Name 0015-fix-segfault.patch

bindings/swig/common_types.i
bindings/swig/conf.i

index c9ae798a15d4647ab69615b63f93bd1b6e62ff92..a1f90d9e5095dbb6a4a457c6a8a7c68af7a2b638 100644 (file)
@@ -63,10 +63,6 @@ template<class T>
 class Iterator {
 public:
     Iterator(typename T::iterator _cur, typename T::iterator _end) : cur(_cur), end(_end) {}
-    Iterator* __iter__()
-    {
-      return this;
-    }
 
     typename T::iterator cur;
     typename T::iterator end;
@@ -165,3 +161,10 @@ EXTEND_TEMPLATE_PreserveOrderMapIterator(std::string, std::string)
 EXTEND_TEMPLATE_PreserveOrderMapIterator(std::string, libdnf::PreserveOrderMap<std::string, std::string>)
 
 %exception;  // beware this resets all exception handlers if you import this file after defining any
+
+%pythoncode %{
+def PreserveOrderMapStringStringIterator___iter__(self):
+    return self
+PreserveOrderMapStringStringIterator.__iter__ = PreserveOrderMapStringStringIterator___iter__
+del PreserveOrderMapStringStringIterator___iter__
+%}
index b6a0ce88163b14f8febb71af414c0f501ff37894..2f77003fe5273c373870eafd205e284832636bd3 100644 (file)
@@ -71,10 +71,6 @@ template<class T>
 class Iterator {
 public:
     Iterator(typename T::iterator _cur, typename T::iterator _end) : cur(_cur), end(_end) {}
-    Iterator* __iter__()
-    {
-        return this;
-    }
 
     typename T::iterator cur;
     typename T::iterator end;