From 5acc7ee4627a4c6bb38f517d5fb0aed43f4023b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Sat, 12 Mar 2016 13:54:03 +0100 Subject: register: make sure returned register content is always NUL terminated --- register.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'register.c') diff --git a/register.c b/register.c index 37a30ce..932be28 100644 --- a/register.c +++ b/register.c @@ -30,7 +30,10 @@ void register_release(Register *reg) { const char *register_get(Vis *vis, Register *reg, size_t *len) { switch (reg->type) { case REGISTER_NORMAL: - *len = buffer_length0(®->buf); + if (reg->buf.len > 0 && reg->buf.data[reg->buf.len-1] != '\0') + buffer_append(®->buf, "\0", 1); + if (len) + *len = reg->buf.len > 0 ? reg->buf.len - 1 : 0; return reg->buf.data; case REGISTER_CLIPBOARD: { -- cgit v1.2.3