Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH] diff: avoid stack-buffer-read-overrun for very long name

From: Jim Meyering <hidden>
Date: 2016-06-15 22:53:40

Bert Wesarg wrote:
On Thu, Apr 26, 2012 at 18:26, Jim Meyering [off-list ref] wrote:
quoted
Bert Wesarg wrote:
quoted
On Thu, Apr 26, 2012 at 18:13, Junio C Hamano [off-list ref] wrote:
quoted
Jim Meyering [off-list ref] writes:
strbuf_ensure_terminator(struct strbuf* buf, int term, int always)?
Nice!  So far, that's the name I prefer.
But why the third parameter?
See the second part of my reply:
Oh.  I missed that.
quoted
quoted
quoted
------------------------------------
builtin/branch.c-     if (!buf.len || buf.buf[buf.len-1] != '\n')
builtin/branch.c:             strbuf_addch(&buf, '\n');
--
strbuf.h-     if (sb->len && sb->buf[sb->len - 1] != '\n')
strbuf.h:             strbuf_addch(sb, '\n');
Please note, that while they are checking the .len, they both behave
differently if .len == 0 or not.
The first always append a '\n', the latter only, if the string isn't empty.
Glad you noticed the difference.
However, is one exception worth complicating the interface?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help