summaryrefslogtreecommitdiffstats
path: root/paste.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@openbsd.org>2009-07-02 16:15:43 +0000
committerNicholas Marriott <nicm@openbsd.org>2009-07-02 16:15:43 +0000
commitfe5edad1fcd60d94bc45ca49f94636eeecae210d (patch)
tree2ddba8ad9cd1b87903c6cbecee01cf8b92846a6f /paste.c
parent4c5c125173e07dcc061aa162b08d1722c73abe7d (diff)
Fix two copy/paste bugs: forbid zero-length buffers to prevent a fatal error
when trying to paste them, found by me, and miscalculation of the start/end causing random fatal errors when copying in copy-mode, reported by sthen. ok sthen "put it in" deraadt
Diffstat (limited to 'paste.c')
-rw-r--r--paste.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/paste.c b/paste.c
index 3644381c..981385e9 100644
--- a/paste.c
+++ b/paste.c
@@ -101,6 +101,9 @@ paste_add(struct paste_stack *ps, char *data, u_int limit)
{
struct paste_buffer *pb;
+ if (*data == '\0')
+ return;
+
while (ARRAY_LENGTH(ps) >= limit)
ARRAY_TRUNC(ps, 1);