提交 04e06862 编写于 作者: L Laine Stump 提交者: Daniel Veillard

Avoid crash in virBufferEscapeString

* src/util/buf.c: if virBufferEscapeString was called on a buffer that
  had 0 bytes of space, a size of -1 will be passed to snprintf, resulting
  in a segmentation fault, this preallocate some space.
上级 e3915958
......@@ -318,6 +318,12 @@ virBufferEscapeString(const virBufferPtr buf, const char *format, const char *st
}
*out = 0;
if ((buf->use >= buf->size) &&
virBufferGrow(buf, 100) < 0) {
VIR_FREE(escaped);
return;
}
size = buf->size - buf->use - 1;
while (((count = snprintf(&buf->content[buf->use], size, format,
(char *)escaped)) < 0) || (count >= size - 1)) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册