Imported Upstream version 17.23.8 upstream/17.23.8
authorDongHun Kwak <dh0128.kwak@samsung.com>
Mon, 30 Nov 2020 07:01:01 +0000 (16:01 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Mon, 30 Nov 2020 07:01:01 +0000 (16:01 +0900)
VERSION.cmake
package/libzypp.changes
zypp/parser/HistoryLogReader.cc

index 2d7da4d..e477f17 100644 (file)
@@ -61,8 +61,8 @@
 SET(LIBZYPP_MAJOR "17")
 SET(LIBZYPP_COMPATMINOR "22")
 SET(LIBZYPP_MINOR "23")
-SET(LIBZYPP_PATCH "7")
+SET(LIBZYPP_PATCH "8")
 #
-# LAST RELEASED: 17.23.7 (22)
+# LAST RELEASED: 17.23.8 (22)
 # (The number in parenthesis is LIBZYPP_COMPATMINOR)
 #=======
index 45a8f5b..4ca09eb 100644 (file)
@@ -1,4 +1,10 @@
 -------------------------------------------------------------------
+Fri Jun 26 14:13:10 CEST 2020 - ma@suse.de
+
+- Fix core dump with corrupted history file (bsc#1170801)
+- version 17.23.8 (22)
+
+-------------------------------------------------------------------
 Tue Jun 23 17:44:21 CEST 2020 - ma@suse.de
 
 - Enable zchunk metadata download if libsolv supports it.
index e16e601..99de5e0 100644 (file)
@@ -66,8 +66,12 @@ namespace zypp
     // parse into fields
     HistoryLogData::FieldVector fields;
     str::splitEscaped( line_r, std::back_inserter(fields), "|", true );
-    if ( fields.size() >= 2 )
-      fields[1] = str::trim( std::move(fields[1]) );   // for whatever reason writer is padding the action field
+
+    if ( fields.size() < 2 ) {
+      WAR << "Ignore invalid history log entry on line #" << lineNr_r << " '"<< line_r << "'" << endl;
+      return true;     // At least an action field[1] is needed!
+    }
+    fields[1] = str::trim( std::move(fields[1]) );     // for whatever reason writer is padding the action field
 
     if ( !_actionfilter.empty() && !_actionfilter.count( fields[1] ) )
       return true;