diff --git a/paste.c b/paste.c index 36c40060..80367ff2 100644 --- a/paste.c +++ b/paste.c @@ -1,4 +1,4 @@ -/* $Id: paste.c,v 1.7 2009-07-02 16:23:54 nicm Exp $ */ +/* $Id: paste.c,v 1.8 2009-07-31 20:33:49 tcunha Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -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);