Author: gs Date: Wed May 23 14:00:14 2007 New Revision: 38105 URL: http://svn.opensuse.org/viewcvs/yast?rev=38105&view=rev Log: check whether partition size is zero (bug #270836) Modified: trunk/ncurses/package/yast2-ncurses.changes trunk/ncurses/src/pkg/NCPkgPopupDiskspace.cc Modified: trunk/ncurses/package/yast2-ncurses.changes URL: http://svn.opensuse.org/viewcvs/yast/trunk/ncurses/package/yast2-ncurses.changes?rev=38105&r1=38104&r2=38105&view=diff ============================================================================== --- trunk/ncurses/package/yast2-ncurses.changes (original) +++ trunk/ncurses/package/yast2-ncurses.changes Wed May 23 14:00:14 2007 @@ -1,4 +1,10 @@ ------------------------------------------------------------------- +Wed May 23 13:54:16 CEST 2007 - gs@suse.de + +- Package Installation: check the partition size to prevent + division by zero during disk space calculation (bug #270836) + +------------------------------------------------------------------- Wed May 16 13:15:56 CEST 2007 - gs@suse.de - Move all files related to package installation to subdir 'pkg' Modified: trunk/ncurses/src/pkg/NCPkgPopupDiskspace.cc URL: http://svn.opensuse.org/viewcvs/yast/trunk/ncurses/src/pkg/NCPkgPopupDiskspace.cc?rev=38105&r1=38104&r2=38105&view=diff ============================================================================== --- trunk/ncurses/src/pkg/NCPkgPopupDiskspace.cc (original) +++ trunk/ncurses/src/pkg/NCPkgPopupDiskspace.cc Wed May 23 14:00:14 2007 @@ -236,8 +236,12 @@ { FSize usedSize ( partition.pkg_size, FSize::K ); FSize totalSize ( partition.total_size, FSize::K ); - - int percent = ( 100 * usedSize ) / totalSize; + + int percent = 0; + + if ( totalSize != 0 ) + percent = ( 100 * usedSize ) / totalSize; + int free = ( totalSize - usedSize ) / FSize::MB; NCMIL << "Partition: " << partition.dir << " Used percent: " @@ -293,6 +297,8 @@ // void NCPkgPopupDiskspace::setDiskSpace( wint_t ch ) { + int percent = 0; + // set diskspace values in ZyppDuSet testDiskSpace for ( ZyppDuSetIterator it = testDiskUsage.begin(); it != testDiskUsage.end(); @@ -302,7 +308,9 @@ FSize usedSize ( partitionDu.pkg_size, FSize::K ); FSize totalSize ( partitionDu.total_size, FSize::K ); - int percent = ( 100 * usedSize ) / totalSize; + + if ( totalSize != 0 ) + percent = ( 100 * usedSize ) / totalSize; if ( ch == '+' ) percent += 3; -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org