strbuf: make sure buffer is zero-terminated

strbuf_init does not zero-terminate the initial buffer when hint is
non-zero. Fix this so we can rely on the string to be zero-terminated
even if we haven't filled it with anything yet.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Erik Faye-Lund 2011-04-10 22:54:17 +02:00 коммит произвёл Junio C Hamano
Родитель e923eaeb90
Коммит 5e7a5d97f8
1 изменённых файлов: 3 добавлений и 1 удалений

Просмотреть файл

@ -30,8 +30,10 @@ void strbuf_init(struct strbuf *sb, size_t hint)
{ {
sb->alloc = sb->len = 0; sb->alloc = sb->len = 0;
sb->buf = strbuf_slopbuf; sb->buf = strbuf_slopbuf;
if (hint) if (hint) {
strbuf_grow(sb, hint); strbuf_grow(sb, hint);
sb->buf[0] = '\0';
}
} }
void strbuf_release(struct strbuf *sb) void strbuf_release(struct strbuf *sb)