From: Michael Andres Date: Wed, 29 Aug 2007 13:38:31 +0000 (+0000) Subject: - Fixed fix for #293039. Segfault due to uninitialzed data. X-Git-Tag: BASE-SuSE-Linux-10_3-Branch~166 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5d27706d68509a3be690f89ee9567e7b627bbeec;p=platform%2Fupstream%2Flibzypp.git - Fixed fix for #293039. Segfault due to uninitialzed data. - version 3.19--This line, and those below, will be ignored-- M package/libzypp.changes M devel/devel.ma/Parse.cc M zypp/zypp_detail/ZYppImpl.cc --- diff --git a/devel/devel.ma/Parse.cc b/devel/devel.ma/Parse.cc index 5cf9f15..3062c82 100644 --- a/devel/devel.ma/Parse.cc +++ b/devel/devel.ma/Parse.cc @@ -60,7 +60,7 @@ struct Xprint if ( !p ) return; - MIL << p->diskusage() << endl; + //MIL << p->diskusage() << endl; } void handle( const Pattern_constPtr & p ) @@ -402,6 +402,7 @@ int main( int argc, char * argv[] ) MIL << "Added target: " << pool << endl; } + INT << getZYpp()->diskUsage() << endl; std::for_each( pool.begin(), pool.end(), Xprint() ); diff --git a/package/libzypp.changes b/package/libzypp.changes index 9966029..4f6966f 100644 --- a/package/libzypp.changes +++ b/package/libzypp.changes @@ -1,8 +1,14 @@ ------------------------------------------------------------------- +Wed Aug 29 15:28:53 CEST 2007 - ma@suse.de + +- Fixed fix for #293039. Segfault due to uninitialzed data. +- version 3.19.3 + +------------------------------------------------------------------- Wed Aug 29 15:10:20 CEST 2007 - schubi@suse.de - reduced too much verbosed ResolverContext logging; Bug 303971 -- r 6977 +- r 6977 ------------------------------------------------------------------- Wed Aug 29 13:55:28 CEST 2007 - ma@suse.de diff --git a/zypp/zypp_detail/ZYppImpl.cc b/zypp/zypp_detail/ZYppImpl.cc index 3c5b423..a670d1e 100644 --- a/zypp/zypp_detail/ZYppImpl.cc +++ b/zypp/zypp_detail/ZYppImpl.cc @@ -179,7 +179,11 @@ namespace zypp } DiskUsageCounter::MountPointSet ZYppImpl::diskUsage() - { return _disk_usage->disk_usage(pool()); } + { + if ( ! _disk_usage ) + _disk_usage.reset(new DiskUsageCounter()); + return _disk_usage->disk_usage(pool()); + } void ZYppImpl::setPartitions(const DiskUsageCounter::MountPointSet &mp) { @@ -420,7 +424,7 @@ namespace zypp { // noop: Someone decided to let target() throw if the ptr is NULL ;( } - + int num=0; PathInfo locksrc( locksrcPath ); if ( locksrc.isFile() )