[libvirt] [PATCH] virBufferEscapeShell: Fix escaping of single quotes.

Guido Günther agx at sigxcpu.org
Tue Oct 18 07:31:08 UTC 2011


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




More information about the libvir-list mailing list