From: Timo Sirainen Date: Mon, 21 Jun 2010 14:26:00 +0000 (+0100) Subject: doveadm: Table formatter crashed with large output. X-Git-Tag: 2.0.rc1~128 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=349a6fd376bb6bb48ea98442f03ec721fbca3d77;p=thirdparty%2Fdovecot%2Fcore.git doveadm: Table formatter crashed with large output. --HG-- branch : HEAD --- 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;