Fix buffer overrun in git_buf_put_base64

This commit is contained in:
Philip Kelley 2012-10-14 12:29:05 -04:00
parent 80a6e86bb6
commit 9d9288f417

View File

@ -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 */