Mercurial > vim
changeset 9056:19d2dfb3f5e2 v7.4.1813
commit https://github.com/vim/vim/commit/9b4ebc692d77ca8ef90d72517347f74c2474dd3d
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun May 1 13:28:38 2016 +0200
patch 7.4.1813
Problem: Memory access error when running test_quickfix.
Solution: Allocate one more byte. (Yegappan Lakshmanan)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 01 May 2016 13:30:06 +0200 |
parents | 8410027b1681 |
children | 93d6f07403ae |
files | src/quickfix.c src/version.c |
diffstat | 2 files changed, 8 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/quickfix.c +++ b/src/quickfix.c @@ -545,12 +545,12 @@ qf_init_ext( linelen = len > LINE_MAXLEN ? LINE_MAXLEN - 1 : len; if (growbuf == NULL) { - growbuf = alloc(linelen); + growbuf = alloc(linelen + 1); growbufsiz = linelen; } else if (linelen > growbufsiz) { - growbuf = vim_realloc(growbuf, linelen); + growbuf = vim_realloc(growbuf, linelen + 1); if (growbuf == NULL) goto qf_init_end; growbufsiz = linelen; @@ -589,13 +589,13 @@ qf_init_ext( linelen = LINE_MAXLEN - 1; if (growbuf == NULL) { - growbuf = alloc(linelen); + growbuf = alloc(linelen + 1); growbufsiz = linelen; } else if (linelen > growbufsiz) { if ((growbuf = vim_realloc(growbuf, - linelen)) == NULL) + linelen + 1)) == NULL) goto qf_init_end; growbufsiz = linelen; } @@ -623,14 +623,14 @@ qf_init_ext( { if (growbuf == NULL) { - growbuf = alloc(linelen); + growbuf = alloc(linelen + 1); growbufsiz = linelen; } else if (linelen > growbufsiz) { if (linelen > LINE_MAXLEN) linelen = LINE_MAXLEN - 1; - if ((growbuf = vim_realloc(growbuf, linelen)) == NULL) + if ((growbuf = vim_realloc(growbuf, linelen + 1)) == NULL) goto qf_init_end; growbufsiz = linelen; }