test-buffer.c revision dd8a8566def603776cc102ec86906556b8bd5b0a
c25356d5978632df6203437e1953bcb29e0c736fTimo Sirainen/* Copyright (c) 2007-2014 Dovecot authors, see the included COPYING file */
ef50336eefcb9ba99f73c6af37420eaf8857a39bTimo Sirainen unsigned char *p, testdata[BUF_TEST_SIZE], shadowbuf[BUF_TEST_SIZE];
ef50336eefcb9ba99f73c6af37420eaf8857a39bTimo Sirainen unsigned int i, shadowbuf_size;
2615df45a8027948a474abe5e817b34b0499c171Timo Sirainen for (i = 0; i < BUF_TEST_SIZE; i++)
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen for (i = 0; i < BUF_TEST_COUNT; i++) {
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen size = shadowbuf_size = rand() % (buf->used - 1);
91b203fd2132510a47a4b34252c0ae0efd688a19Timo Sirainen size = rand() % (BUF_TEST_SIZE - I_MAX(buf->used, pos));
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen pos2 = rand() % (shadowbuf_size-1); /* source */
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen size = rand() % (shadowbuf_size - I_MAX(pos, pos2));
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen if (pos > pos2 && pos + size > shadowbuf_size)
96f2533c48ce5def0004931606a2fdf275578880Timo Sirainen t_strdup_printf("round %u test %d failed", i, test));