From 349a6fd376bb6bb48ea98442f03ec721fbca3d77 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Mon, 21 Jun 2010 15:26:00 +0100 Subject: [PATCH] doveadm: Table formatter crashed with large output. --HG-- branch : HEAD --- src/doveadm/doveadm-print-table.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/doveadm/doveadm-print-table.c b/src/doveadm/doveadm-print-table.c index 33d112c70a..8ef6a65421 100644 --- a/src/doveadm/doveadm-print-table.c +++ b/src/doveadm/doveadm-print-table.c @@ -154,8 +154,12 @@ static void doveadm_buffer_flush(void) static void doveadm_print_table_print(const char *value) { + unsigned int line_count; + if (!ctx->lengths_set) { - if (array_count(&ctx->buffered_values) < MAX_BUFFER_LINES) { + line_count = array_count(&ctx->buffered_values) / + array_count(&ctx->headers); + if (line_count < MAX_BUFFER_LINES) { value = p_strdup(ctx->pool, value); array_append(&ctx->buffered_values, &value, 1); return; -- 2.47.3