Author: fehr Date: Mon Sep 24 13:00:59 2007 New Revision: 41046 URL: http://svn.opensuse.org/viewcvs/yast?rev=41046&view=rev Log: prevent crash with invalid dmraid data (#327342) Modified: trunk/storage/libstorage/src/Dm.cc trunk/storage/package/yast2-storage.changes Modified: trunk/storage/libstorage/src/Dm.cc URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/libstorage/src/Dm.cc?rev=... ============================================================================== --- trunk/storage/libstorage/src/Dm.cc (original) +++ trunk/storage/libstorage/src/Dm.cc Mon Sep 24 13:00:59 2007 @@ -471,14 +471,17 @@ int Dm::dmNumber( const string& table ) { int ret = -1; - SystemCmd c( "dmsetup -c --noheadings info " + table ); - list<string> sl = splitString( *c.getLine(0), ":" ); - if( sl.size()>=3 ) + SystemCmd c( "dmsetup -c --noheadings info "" + table + """ ); + if( c.retcode()==0 && c.numLines()>0 ) { - list<string>::const_iterator ci = sl.begin(); - ++ci; - ++ci; - *ci >> ret; + list<string> sl = splitString( *c.getLine(0), ":" ); + if( sl.size()>=3 ) + { + list<string>::const_iterator ci = sl.begin(); + ++ci; + ++ci; + *ci >> ret; + } } y2mil( "table:" << table << " ret:" << ret ); return( ret ); Modified: trunk/storage/package/yast2-storage.changes URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/package/yast2-storage.cha... ============================================================================== --- trunk/storage/package/yast2-storage.changes (original) +++ trunk/storage/package/yast2-storage.changes Mon Sep 24 13:00:59 2007 @@ -1,4 +1,9 @@ ------------------------------------------------------------------- +Mon Sep 24 13:00:18 CEST 2007 - fehr@suse.de + +- prevent crash with invalid dmraid data (#327342) + +------------------------------------------------------------------- Thu Sep 20 15:50:27 CEST 2007 - fehr@suse.de - make importing fstab cope with changing disk names (#309774) -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org