From 9d9288f417968a7fd583786a749c4f7dfa258f89 Mon Sep 17 00:00:00 2001 From: Philip Kelley Date: Sun, 14 Oct 2012 12:29:05 -0400 Subject: [PATCH] Fix buffer overrun in git_buf_put_base64 --- src/buffer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/buffer.c b/src/buffer.c index ee2dd2804..b40b16b66 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -195,7 +195,7 @@ int git_buf_put_base64(git_buf *buf, const char *data, size_t len) uint8_t *write, a, b, c; const uint8_t *read = (const uint8_t *)data; - ENSURE_SIZE(buf, buf->size + ((len * 4 + 3) / 3) + 1); + ENSURE_SIZE(buf, buf->size + 4 * ((len / 3) + !!extra) + 1); write = (uint8_t *)&buf->ptr[buf->size]; /* convert each run of 3 bytes into 4 output bytes */