]> xenbits.xensource.com Git - libvirt.git/commitdiff
Fix phypOpen() escape_specialcharacters
authorMattias Bolte <matthias.bolte@googlemail.com>
Thu, 20 Aug 2009 11:59:07 +0000 (13:59 +0200)
committerChris Lalancette <clalance@redhat.com>
Thu, 20 Aug 2009 11:59:07 +0000 (13:59 +0200)
Matthias correctly points out that escape_specialcharaters() takes a
length, and since we are now malloc()'ing string in phypOpen instead of
making it a static array, we can't use sizeof(string) anymore.  Calculate
the proper strlen and then use that both to allocate the string and also
pass it to escape_specialcharacters().

Signed-off-by: Chris Lalancette <clalance@redhat.com>
src/phyp/phyp_driver.c

index bee17d0fa2909a7756e85935b16b36ba204a2f75..31001440c215a56be2e2369d5318b9dc42718e65 100644 (file)
@@ -66,7 +66,7 @@ phypOpen(virConnectPtr conn,
     SSH_SESSION *session = NULL;
     ConnectionData *connection_data = NULL;
     char *string;
-
+    size_t len = 0;
     uuid_dbPtr uuid_db = NULL;
 
     if (!conn || !conn->uri)
@@ -99,12 +99,14 @@ phypOpen(virConnectPtr conn,
         goto failure;
     }
 
-    if (VIR_ALLOC_N(string, strlen(conn->uri->path) + 1) < 0) {
+    len = strlen(conn->uri->path) + 1;
+
+    if (VIR_ALLOC_N(string, len) < 0) {
         virReportOOMError(conn);
         goto failure;
     }
 
-    if (escape_specialcharacters(conn->uri->path, string, sizeof(string)) == -1) {
+    if (escape_specialcharacters(conn->uri->path, string, len) == -1) {
         virRaiseError(conn, NULL, NULL, 0, VIR_FROM_PHYP,
                       VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0, "%s",
                       _("Error parsing 'path'. Invalid characters."));