From fc935495c813b7577ac8237459a2cc65ea291ac2 Mon Sep 17 00:00:00 2001 From: Zdenek Kabelac Date: Sat, 22 Nov 2014 18:13:21 +0100 Subject: [PATCH] libdm: fix reporting of empty string list Don't write behind the allocated array when list is empty. Use index 0 for the allocated element. Error triggered by i.e.: lvs -a -o all,lv_modules --- WHATS_NEW_DM | 1 + libdm/libdm-report.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/WHATS_NEW_DM b/WHATS_NEW_DM index a89696f8e..0de5b89db 100644 --- a/WHATS_NEW_DM +++ b/WHATS_NEW_DM @@ -1,5 +1,6 @@ Version 1.02.92 - ==================================== + Fix memory corruption with sorting empty string lists (1.02.86). Fix man dmsetup.8 syntax warning of Groff Version 1.02.91 - 11th November 2014 diff --git a/libdm/libdm-report.c b/libdm/libdm-report.c index bf64cc33b..f7687504f 100644 --- a/libdm/libdm-report.c +++ b/libdm/libdm-report.c @@ -378,8 +378,8 @@ static int _report_field_string_list(struct dm_report *rh, /* zero items */ if (!list_size) { sort_value->value = field->report_string = ""; - sort_value->items[1].pos = 0; - sort_value->items[1].len = 0; + sort_value->items[0].pos = 0; + sort_value->items[0].len = 0; field->sort_value = sort_value; return 1; }