From: Miro HronĨok Date: Mon, 27 Jan 2025 11:16:37 +0000 (+0000) Subject: fix a segfault in iterator of a ConfigParser section X-Git-Tag: archive/raspbian/0.73.4-2+rpi1^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=9a730fb0c2257db3a624834793caf1900b1c6c62;p=libdnf.git fix a segfault in iterator of a ConfigParser section 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 --- diff --git a/bindings/swig/common_types.i b/bindings/swig/common_types.i index c9ae798..a1f90d9 100644 --- a/bindings/swig/common_types.i +++ b/bindings/swig/common_types.i @@ -63,10 +63,6 @@ template 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) %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__ +%} diff --git a/bindings/swig/conf.i b/bindings/swig/conf.i index b6a0ce8..2f77003 100644 --- a/bindings/swig/conf.i +++ b/bindings/swig/conf.i @@ -71,10 +71,6 @@ template 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;