summaryrefslogtreecommitdiffstats
path: root/lib/buffer.c
diff options
context:
space:
mode:
authorGergely Nagy <algernon@balabit.hu>2012-04-13 13:12:43 +0200
committerGergely Nagy <algernon@balabit.hu>2012-04-13 13:12:43 +0200
commitd0d14fda7c98bab9f92e14f9578676bc70962d25 (patch)
treec7c65df149d1337fdb56177978f5720800d79e8e /lib/buffer.c
parent3c009dee6e7ac9ecff02596db924790c0683a049 (diff)
downloadlibumberlog-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>
Diffstat (limited to 'lib/buffer.c')
-rw-r--r--lib/buffer.c5
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;
}