diff --git a/WHATS_NEW_DM b/WHATS_NEW_DM index 1bafc2b57..efe51b475 100644 --- a/WHATS_NEW_DM +++ b/WHATS_NEW_DM @@ -1,5 +1,6 @@ Version 1.02.62 - =================================== + Initialize pool object for each row in _output_as_rows(). Version 1.02.61 - 10th January 2011 =================================== diff --git a/libdm/libdm-report.c b/libdm/libdm-report.c index 9b8e3c18a..4f47c46ea 100644 --- a/libdm/libdm-report.c +++ b/libdm/libdm-report.c @@ -1006,11 +1006,6 @@ static int _output_as_rows(struct dm_report *rh) struct dm_report_field *field; struct row *row; - if (!dm_pool_begin_object(rh->mem, 512)) { - log_error("dm_report: Unable to allocate output line"); - return 0; - } - dm_list_iterate_items(fp, &rh->field_props) { if (fp->flags & FLD_HIDDEN) { dm_list_iterate_items(row, &rh->rows) { @@ -1020,6 +1015,11 @@ static int _output_as_rows(struct dm_report *rh) continue; } + if (!dm_pool_begin_object(rh->mem, 512)) { + log_error("dm_report: Unable to allocate output line"); + return 0; + } + if ((rh->flags & DM_REPORT_OUTPUT_HEADINGS)) { if (!dm_pool_grow_object(rh->mem, rh->fields[fp->field_num].heading, 0)) { log_error("dm_report: Failed to extend row for field name");