diff options
| author | Marc André Tanner <mat@brain-dump.org> | 2016-03-12 13:54:03 +0100 |
|---|---|---|
| committer | Marc André Tanner <mat@brain-dump.org> | 2016-03-12 13:54:03 +0100 |
| commit | 5acc7ee4627a4c6bb38f517d5fb0aed43f4023b7 (patch) | |
| tree | f1f4763c64dd63328a96dace7282df5c4e577ccc /register.c | |
| parent | f7410334b5ff128a44023e31b9ae86c5ea5165b8 (diff) | |
| download | vis-5acc7ee4627a4c6bb38f517d5fb0aed43f4023b7.tar.gz vis-5acc7ee4627a4c6bb38f517d5fb0aed43f4023b7.tar.xz | |
register: make sure returned register content is always NUL terminated
Diffstat (limited to 'register.c')
| -rw-r--r-- | register.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -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: { |
