diff options
author | Gergely Nagy <algernon@balabit.hu> | 2012-04-13 13:12:43 +0200 |
---|---|---|
committer | Gergely Nagy <algernon@balabit.hu> | 2012-04-13 13:12:43 +0200 |
commit | d0d14fda7c98bab9f92e14f9578676bc70962d25 (patch) | |
tree | c7c65df149d1337fdb56177978f5720800d79e8e | |
parent | 3c009dee6e7ac9ecff02596db924790c0683a049 (diff) | |
download | libumberlog-d0d14fda7c98bab9f92e14f9578676bc70962d25.tar.gz libumberlog-d0d14fda7c98bab9f92e14f9578676bc70962d25.tar.xz libumberlog-d0d14fda7c98bab9f92e14f9578676bc70962d25.zip |
Fix ul_buffer_finalize().
ul_buffer_finalize() was off by one, and instead of overriding the
trailing ",", it overwrote the trailing nul-byte.
Signed-off-by: Gergely Nagy <algernon@balabit.hu>
-rw-r--r-- | lib/buffer.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/buffer.c b/lib/buffer.c index 4f795eb..d538fda 100644 --- a/lib/buffer.c +++ b/lib/buffer.c @@ -82,13 +82,14 @@ ul_buffer_append (ul_buffer_t *buffer, const char *key, const char *value) char * ul_buffer_finalize (ul_buffer_t *buffer) { - if (buffer->msg[buffer->len] == ',') - buffer->msg[buffer->len] = '}'; + if (buffer->msg[buffer->len - 1] == ',') + buffer->msg[buffer->len - 1] = '}'; else { if (!_ul_buffer_ensure_size (buffer, buffer->len + 1)) return NULL; buffer->msg[buffer->len++] = '}'; + buffer->msg[buffer->len] = '\0'; } return buffer->msg; } |