When checking if we need to escape a single quote we were looking at the character after the quote instead of at the quote itself. --- src/util/buf.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/util/buf.c b/src/util/buf.c index 7dd9852..2d9499a 100644 --- a/src/util/buf.c +++ b/src/util/buf.c @@ -524,13 +524,13 @@ virBufferEscapeShell(virBufferPtr buf, const char *str) *out++ = '\''; while (*cur != 0) { - *out++ = *cur++; if (*cur == '\'') { + *out++ = '\''; /* Replace literal ' with a close ', a \', and a open ' */ *out++ = '\\'; *out++ = '\''; - *out++ = '\''; } + *out++ = *cur++; } *out++ = '\''; *out = 0; -- 1.7.6.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list