From 95caeaa5dc7f326a53559ea86792e488d88e2c66 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Thu, 30 Jul 2009 20:50:54 +0000 Subject: [PATCH] Don't leak when rollling buffers off when the paste buffer limit is reached. --- paste.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/paste.c b/paste.c index 981385e9..82fa0939 100644 --- a/paste.c +++ b/paste.c @@ -104,8 +104,12 @@ paste_add(struct paste_stack *ps, char *data, u_int limit) if (*data == '\0') return; - while (ARRAY_LENGTH(ps) >= limit) + while (ARRAY_LENGTH(ps) >= limit) { + pb = ARRAY_LAST(ps); + xfree(pb->data); + xfree(pb); ARRAY_TRUNC(ps, 1); + } pb = xmalloc(sizeof *pb); ARRAY_INSERT(ps, 0, pb);