From ecf6e517b5f65397507697c28c29981507a052ab Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Wed, 13 Aug 2008 11:09:37 +0000 Subject: Move the location of the utf8 buffer every time we're asked for a character in debug mode. This leaks memory lots, deliberately. svn path=/trunk/libparserutils/; revision=5081 --- src/utils/buffer.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/utils') diff --git a/src/utils/buffer.c b/src/utils/buffer.c index 21c47fc..3c28e16 100644 --- a/src/utils/buffer.c +++ b/src/utils/buffer.c @@ -154,3 +154,27 @@ parserutils_error parserutils_buffer_grow(parserutils_buffer *buffer) return PARSERUTILS_OK; } +parserutils_error parserutils_buffer_randomise(parserutils_buffer *buffer) +{ + if (buffer == NULL) + return PARSERUTILS_BADPARM; + +#ifndef NDEBUG + uint8_t *temp = buffer->alloc(NULL, buffer->allocated, buffer->pw); + if (temp == NULL) + return PARSERUTILS_NOMEM; + + memcpy(temp, buffer->data, buffer->length); + + memset(buffer->data, 0xff, buffer->length); + + /* Leak the buffer's current data, so we don't reuse it */ + /* buffer->alloc(buffer->data, 0, buffer->pw); */ + + buffer->data = temp; +#endif + + + return PARSERUTILS_OK; +} + -- cgit v1.2.3