Don't leak when rollling buffers off when the paste buffer limit is reached.

This commit is contained in:
Nicholas Marriott 2009-07-30 20:50:54 +00:00
parent 97f105cde2
commit 95caeaa5dc

View File

@ -104,8 +104,12 @@ paste_add(struct paste_stack *ps, char *data, u_int limit)
if (*data == '\0') if (*data == '\0')
return; return;
while (ARRAY_LENGTH(ps) >= limit) while (ARRAY_LENGTH(ps) >= limit) {
pb = ARRAY_LAST(ps);
xfree(pb->data);
xfree(pb);
ARRAY_TRUNC(ps, 1); ARRAY_TRUNC(ps, 1);
}
pb = xmalloc(sizeof *pb); pb = xmalloc(sizeof *pb);
ARRAY_INSERT(ps, 0, pb); ARRAY_INSERT(ps, 0, pb);