Commit e82dd813 by Patrick Steinhardt

buffer: fix `ENSURE_SIZE` macro referencing wrong variable

While the `ENSURE_SIZE` macro gets a reference to both the buffer that
is to be resized and a new size, we were not consistently referencing
the passed buffer, but instead a variable `buf`, which is not passed in.
Funnily enough, we never noticed because our buffers seem to always be
named `buf` whenever the macro was being used.

Fix the macro by always using the passed-in buffer. While at it, add
braces around all mentions of passed-in variables as should be done with
macros to avoid subtle errors.

Found-by: Edward Thompson
parent 97eb5ef0
...@@ -18,7 +18,7 @@ char git_buf__initbuf[1]; ...@@ -18,7 +18,7 @@ char git_buf__initbuf[1];
char git_buf__oom[1]; char git_buf__oom[1];
#define ENSURE_SIZE(b, d) \ #define ENSURE_SIZE(b, d) \
if ((d) > buf->asize && git_buf_grow(b, (d)) < 0)\ if ((d) > (b)->asize && git_buf_grow((b), (d)) < 0)\
return -1; return -1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment