From 4364319ce2dda83093205cc791464ca4eea05851 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Mon, 5 Mar 2012 14:56:26 +1100 Subject: [PATCH] oops, sshbuf was never freeing its buffer memory --- ssh/sshbuf.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ssh/sshbuf.c b/ssh/sshbuf.c index 85de811..dc3359d 100644 --- a/ssh/sshbuf.c +++ b/ssh/sshbuf.c @@ -46,7 +46,8 @@ sshbuf_maybe_pack(struct sshbuf *buf, int force) { SSHBUF_DBG(("force %d", force)); SSHBUF_TELL("pre-pack"); - if (force || (buf->off >= SSHBUF_PACK_MIN && buf->off >= buf->size / 2)) { + if (force || + (buf->off >= SSHBUF_PACK_MIN && buf->off >= buf->size / 2)) { memmove(buf->d, buf->d + buf->off, buf->size - buf->off); buf->size -= buf->off; buf->off = 0; @@ -63,6 +64,7 @@ sshbuf_new(void) return NULL; ret->alloc = SSHBUF_SIZE_INIT; ret->max_size = SSHBUF_SIZE_MAX; + ret->freeme = 1; if ((ret->d = calloc(1, ret->alloc)) == NULL) { free(ret); return NULL;