[Libvir] avoid more format string warnings

Jim Meyering jim at meyering.net
Wed Jan 16 15:31:53 UTC 2008


I compiled libvirt with the latest gcc in rawhide and these CFLAGS:

  -O
  -Wall
  -Wcast-align
  -Wextra
  -Wformat
  -Wformat-security
  -Winit-self
  -Winline
  -Wmissing-prototypes
  -Wnested-externs
  -Wno-sign-compare
  -Wp,-D_FORTIFY_SOURCE=2
  -Wpointer-arith
  -Wredundant-decls
  -Wshadow
  -Wstrict-prototypes
  -Wwrite-strings

and ended up with a whole bunch of these warnings:

  virsh.c:6896: warning: format not a string literal and no format arguments

Here's the patch:

	Avoid new format string warnings.
	* src/virsh.c: Add "%s" where needed.
	* src/proxy_internal.c: Likewise.

---
 src/proxy_internal.c |    8 ++--
 src/virsh.c          |  148 +++++++++++++++++++++++++-------------------------
 2 files changed, 79 insertions(+), 77 deletions(-)

diff --git a/src/proxy_internal.c b/src/proxy_internal.c
index 7f902c5..e0e5631 100644
--- a/src/proxy_internal.c
+++ b/src/proxy_internal.c
@@ -499,10 +499,10 @@ retry:
      */
     if ((res == NULL) || (res->version != PROXY_PROTO_VERSION) ||
         (res->len < sizeof(virProxyPacket))) {
-	fprintf(stderr,
-		_("Communication error with proxy: malformed packet\n"));
-	xenProxyClose(conn);
-	return(-1);
+        fprintf(stderr, "%s",
+                _("Communication error with proxy: malformed packet\n"));
+        xenProxyClose(conn);
+        return(-1);
     }
     if (res->serial != serial) {
         TODO /* Asynchronous communication */
diff --git a/src/virsh.c b/src/virsh.c
index 6604eea..cbe3e8e 100644
--- a/src/virsh.c
+++ b/src/virsh.c
@@ -351,7 +351,7 @@ cmdMonitorProgress(vshControl *ctl, vshCmd *cmd, virJobPtr job, virJobInfoPtr in

     do {
         if (virJobGetInfo(job, info) < 0) {
-            vshError(ctl, FALSE, _("Failed to get job status"));
+            vshError(ctl, FALSE, "%s", _("Failed to get job status"));
             return -1;
         }

@@ -437,7 +437,7 @@ cmdHelp(vshControl * ctl, vshCmd * cmd)
     if (!cmdname) {
         vshCmdDef *def;

-        vshPrint(ctl, _("Commands:\n\n"));
+        vshPrint(ctl, "%s", _("Commands:\n\n"));
         for (def = commands; def->name; def++)
             vshPrint(ctl, "    %-15s %s\n", def->name,
                      N_(vshCmddefGetInfo(def, "help")));
@@ -522,7 +522,7 @@ cmdConnect(vshControl * ctl, vshCmd * cmd)

     if (ctl->conn) {
         if (virConnectClose(ctl->conn) != 0) {
-            vshError(ctl, FALSE,
+            vshError(ctl, FALSE, "%s",
                      _("Failed to disconnect from the hypervisor"));
             return FALSE;
         }
@@ -542,7 +542,7 @@ cmdConnect(vshControl * ctl, vshCmd * cmd)
     }

     if (!ctl->conn)
-        vshError(ctl, FALSE, _("Failed to connect to the hypervisor"));
+        vshError(ctl, FALSE, "%s", _("Failed to connect to the hypervisor"));

     return ctl->conn ? TRUE : FALSE;
 }
@@ -601,7 +601,7 @@ cmdConsole(vshControl * ctl, vshCmd * cmd)
         if (vshRunConsole((const char *)obj->stringval) == 0)
             ret = TRUE;
     } else {
-        vshPrintExtra(ctl, _("No console available for domain\n"));
+        vshPrintExtra(ctl, "%s", _("No console available for domain\n"));
     }
     xmlXPathFreeObject(obj);

@@ -619,7 +619,7 @@ cmdConsole(vshControl * ctl, vshCmd * cmd)
 static int
 cmdConsole(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)
 {
-    vshError (ctl, FALSE, _("console not implemented on this platform"));
+    vshError (ctl, FALSE, "%s", _("console not implemented on this platform"));
     return FALSE;
 }

@@ -659,14 +659,14 @@ cmdList(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)
     if (active) {
         maxid = virConnectNumOfDomains(ctl->conn);
         if (maxid < 0) {
-            vshError(ctl, FALSE, _("Failed to list active domains"));
+            vshError(ctl, FALSE, "%s", _("Failed to list active domains"));
             return FALSE;
         }
         if (maxid) {
             ids = vshMalloc(ctl, sizeof(int) * maxid);

             if ((maxid = virConnectListDomains(ctl->conn, &ids[0], maxid)) < 0) {
-                vshError(ctl, FALSE, _("Failed to list active domains"));
+                vshError(ctl, FALSE, "%s", _("Failed to list active domains"));
                 free(ids);
                 return FALSE;
             }
@@ -677,7 +677,7 @@ cmdList(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)
     if (inactive) {
         maxname = virConnectNumOfDefinedDomains(ctl->conn);
         if (maxname < 0) {
-            vshError(ctl, FALSE, _("Failed to list inactive domains"));
+            vshError(ctl, FALSE, "%s", _("Failed to list inactive domains"));
             if (ids)
                 free(ids);
             return FALSE;
@@ -686,7 +686,7 @@ cmdList(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)
             names = vshMalloc(ctl, sizeof(char *) * maxname);

             if ((maxname = virConnectListDefinedDomains(ctl->conn, names, maxname)) < 0) {
-                vshError(ctl, FALSE, _("Failed to list inactive domains"));
+                vshError(ctl, FALSE, "%s", _("Failed to list inactive domains"));
                 if (ids)
                     free(ids);
                 free(names);
@@ -1004,7 +1004,7 @@ cmdCreate(vshControl * ctl, vshCmd * cmd)
                      virDomainGetName(dom), from);
             virDomainFree(dom);
         } else if (info.state == VIR_JOB_CANCELLED) {
-            vshError(ctl, FALSE, _("Cancelled domain create operation"));
+            vshError(ctl, FALSE, "%s", _("Cancelled domain create operation"));
             ret = FALSE;
         } else {
             vshError(ctl, FALSE, _("Failed to create domain from %s"), from);
@@ -1145,7 +1145,7 @@ cmdStart(vshControl * ctl, vshCmd * cmd)
         return FALSE;

     if (virDomainGetID(dom) != (unsigned int)-1) {
-        vshError(ctl, FALSE, _("Domain is already active"));
+        vshError(ctl, FALSE, "%s", _("Domain is already active"));
         virDomainFree(dom);
         return FALSE;
     }
@@ -1172,7 +1172,7 @@ cmdStart(vshControl * ctl, vshCmd * cmd)
             vshPrint(ctl, _("Domain %s started\n"),
                      virDomainGetName(dom));
         } else if (info.state == VIR_JOB_CANCELLED) {
-            vshError(ctl, FALSE, _("Cancelled domain start operation"));
+            vshError(ctl, FALSE, "%s", _("Cancelled domain start operation"));
             ret = FALSE;
         } else {
             vshError(ctl, FALSE, _("Failed to start domain %s"),
@@ -1248,7 +1248,7 @@ cmdSave(vshControl * ctl, vshCmd * cmd)
         if (info.state == VIR_JOB_COMPLETE) {
             vshPrint(ctl, _("Domain %s saved to %s\n"), name, to);
         } else if (info.state == VIR_JOB_CANCELLED) {
-            vshError(ctl, FALSE, _("Cancelled domain save operation"));
+            vshError(ctl, FALSE, "%s", _("Cancelled domain save operation"));
             ret = FALSE;
         } else {
             vshError(ctl, FALSE, _("Failed to save domain %s to %s"), name, to);
@@ -1313,7 +1313,7 @@ cmdSchedinfo(vshControl * ctl, vshCmd * cmd)
     if(vshCommandOptBool(cmd, "weight")) {
         weight = vshCommandOptInt(cmd, "weight", &weightfound);
         if (!weightfound) {
-            vshError(ctl, FALSE, _("Invalid value of weight"));
+            vshError(ctl, FALSE, "%s", _("Invalid value of weight"));
             goto cleanup;
         } else {
             nr_inputparams++;
@@ -1323,7 +1323,7 @@ cmdSchedinfo(vshControl * ctl, vshCmd * cmd)
     if(vshCommandOptBool(cmd, "cap")) {
         cap = vshCommandOptInt(cmd, "cap", &capfound);
         if (!capfound) {
-            vshError(ctl, FALSE, _("Invalid value of cap"));
+            vshError(ctl, FALSE, "%s", _("Invalid value of cap"));
             goto cleanup;
         } else {
             nr_inputparams++;
@@ -1468,7 +1468,7 @@ cmdRestore(vshControl * ctl, vshCmd * cmd)
         if (info.state == VIR_JOB_COMPLETE) {
             vshPrint(ctl, _("Domain restored from %s\n"),from);
         } else if (info.state == VIR_JOB_CANCELLED) {
-            vshError(ctl, FALSE, _("Cancelled domain restore operation"));
+            vshError(ctl, FALSE, "%s", _("Cancelled domain restore operation"));
             ret = FALSE;
         } else {
             vshError(ctl, FALSE, _("Failed to restore domain from %s"), from);
@@ -1541,7 +1541,7 @@ cmdDump(vshControl * ctl, vshCmd * cmd)
         if (info.state == VIR_JOB_COMPLETE) {
             vshPrint(ctl, _("Domain %s dumped to %s\n"), name, to);
         } else if (info.state == VIR_JOB_CANCELLED) {
-            vshError(ctl, FALSE, _("Cancelled domain dump operation"));
+            vshError(ctl, FALSE, "%s", _("Cancelled domain dump operation"));
             ret = FALSE;
         } else {
             vshError(ctl, FALSE, _("Failed to core dump domain %s to %s"),
@@ -1913,7 +1913,7 @@ cmdVcpuinfo(vshControl * ctl, vshCmd * cmd)
         }
     } else {
         if (info.state == VIR_DOMAIN_SHUTOFF) {
-            vshError(ctl, FALSE,
+            vshError(ctl, FALSE, "%s",
                  _("Domain shut off, virtual CPUs not present."));
         }
         ret = FALSE;
@@ -1993,7 +1993,7 @@ cmdVcpupin(vshControl * ctl, vshCmd * cmd)
      * numbers and give an intelligent error message if not.
      */
     if (cpulist[0] == '\0') {
-        vshError(ctl, FALSE, _("cpulist: Invalid format. Empty string."));
+        vshError(ctl, FALSE, "%s", _("cpulist: Invalid format. Empty string."));
         virDomainFree (dom);
         return FALSE;
     }
@@ -2085,7 +2085,7 @@ cmdSetvcpus(vshControl * ctl, vshCmd * cmd)

     count = vshCommandOptInt(cmd, "count", &count);
     if (count <= 0) {
-        vshError(ctl, FALSE, _("Invalid number of virtual CPUs."));
+        vshError(ctl, FALSE, "%s", _("Invalid number of virtual CPUs."));
         virDomainFree(dom);
         return FALSE;
     }
@@ -2097,7 +2097,7 @@ cmdSetvcpus(vshControl * ctl, vshCmd * cmd)
     }

     if (count > maxcpu) {
-        vshError(ctl, FALSE, _("Too many virtual CPUs."));
+        vshError(ctl, FALSE, "%s", _("Too many virtual CPUs."));
         virDomainFree(dom);
         return FALSE;
     }
@@ -2149,7 +2149,7 @@ cmdSetmem(vshControl * ctl, vshCmd * cmd)

     if (virDomainGetInfo(dom, &info) != 0) {
         virDomainFree(dom);
-        vshError(ctl, FALSE, _("Unable to verify MaxMemorySize"));
+        vshError(ctl, FALSE, "%s", _("Unable to verify MaxMemorySize"));
         return FALSE;
     }

@@ -2206,20 +2206,20 @@ cmdSetmaxmem(vshControl * ctl, vshCmd * cmd)

     if (virDomainGetInfo(dom, &info) != 0) {
         virDomainFree(dom);
-        vshError(ctl, FALSE, _("Unable to verify current MemorySize"));
+        vshError(ctl, FALSE, "%s", _("Unable to verify current MemorySize"));
         return FALSE;
     }

     if (kilobytes < info.memory) {
         if (virDomainSetMemory(dom, kilobytes) != 0) {
             virDomainFree(dom);
-            vshError(ctl, FALSE, _("Unable to shrink current MemorySize"));
+            vshError(ctl, FALSE, "%s", _("Unable to shrink current MemorySize"));
             return FALSE;
         }
     }

     if (virDomainSetMaxMemory(dom, kilobytes) != 0) {
-        vshError(ctl, FALSE, _("Unable to change MaxMemorySize"));
+        vshError(ctl, FALSE, "%s", _("Unable to change MaxMemorySize"));
         ret = FALSE;
     }

@@ -2246,7 +2246,7 @@ cmdNodeinfo(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)
         return FALSE;

     if (virNodeGetInfo(ctl->conn, &info) < 0) {
-        vshError(ctl, FALSE, _("failed to get node information"));
+        vshError(ctl, FALSE, "%s", _("failed to get node information"));
         return FALSE;
     }
     vshPrint(ctl, "%-20s %s\n", _("CPU model:"), info.model);
@@ -2280,7 +2280,7 @@ cmdCapabilities (vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)
         return FALSE;

     if ((caps = virConnectGetCapabilities (ctl->conn)) == NULL) {
-        vshError(ctl, FALSE, _("failed to get capabilities"));
+        vshError(ctl, FALSE, "%s", _("failed to get capabilities"));
         return FALSE;
     }
     vshPrint (ctl, "%s\n", caps);
@@ -2422,7 +2422,7 @@ cmdDomuuid(vshControl * ctl, vshCmd * cmd)
     if (virDomainGetUUIDString(dom, uuid) != -1)
         vshPrint(ctl, "%s\n", uuid);
     else
-        vshError(ctl, FALSE, _("failed to get domain UUID"));
+        vshError(ctl, FALSE, "%s", _("failed to get domain UUID"));

     return TRUE;
 }
@@ -2463,7 +2463,7 @@ cmdMigrate (vshControl *ctl, vshCmd *cmd)

     desturi = vshCommandOptString (cmd, "desturi", &found);
     if (!found) {
-        vshError (ctl, FALSE, _("migrate: Missing desturi"));
+        vshError (ctl, FALSE, "%s", _("migrate: Missing desturi"));
         goto done;
     }

@@ -2599,7 +2599,7 @@ cmdNetworkCreate(vshControl * ctl, vshCmd * cmd)
                      virNetworkGetName(dom), from);
             virNetworkFree(dom);
         } else if (info.state == VIR_JOB_CANCELLED) {
-            vshError(ctl, FALSE, _("Cancelled network create operation"));
+            vshError(ctl, FALSE, "%s", _("Cancelled network create operation"));
             ret = FALSE;
         } else {
             vshError(ctl, FALSE, _("Failed to create network from %s"), from);
@@ -2783,7 +2783,7 @@ cmdNetworkList(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)
     if (active) {
         maxactive = virConnectNumOfNetworks(ctl->conn);
         if (maxactive < 0) {
-            vshError(ctl, FALSE, _("Failed to list active networks"));
+            vshError(ctl, FALSE, "%s", _("Failed to list active networks"));
             return FALSE;
         }
         if (maxactive) {
@@ -2791,7 +2791,7 @@ cmdNetworkList(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)

             if ((maxactive = virConnectListNetworks(ctl->conn, activeNames,
 	                                            maxactive)) < 0) {
-                vshError(ctl, FALSE, _("Failed to list active networks"));
+                vshError(ctl, FALSE, "%s", _("Failed to list active networks"));
                 free(activeNames);
                 return FALSE;
             }
@@ -2802,7 +2802,7 @@ cmdNetworkList(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)
     if (inactive) {
         maxinactive = virConnectNumOfDefinedNetworks(ctl->conn);
         if (maxinactive < 0) {
-            vshError(ctl, FALSE, _("Failed to list inactive networks"));
+            vshError(ctl, FALSE, "%s", _("Failed to list inactive networks"));
             if (activeNames)
                 free(activeNames);
             return FALSE;
@@ -2811,7 +2811,7 @@ cmdNetworkList(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)
             inactiveNames = vshMalloc(ctl, sizeof(char *) * maxinactive);

             if ((maxinactive = virConnectListDefinedNetworks(ctl->conn, inactiveNames, maxinactive)) < 0) {
-                vshError(ctl, FALSE, _("Failed to list inactive networks"));
+                vshError(ctl, FALSE, "%s", _("Failed to list inactive networks"));
                 if (activeNames)
                     free(activeNames);
                 free(inactiveNames);
@@ -2961,7 +2961,7 @@ cmdNetworkStart(vshControl * ctl, vshCmd * cmd)
             vshPrint(ctl, _("Network %s started\n"),
                      virNetworkGetName(network));
         } else if (info.state == VIR_JOB_CANCELLED) {
-            vshError(ctl, FALSE, _("Cancelled network start operation"));
+            vshError(ctl, FALSE, "%s", _("Cancelled network start operation"));
             ret = FALSE;
         } else {
             vshError(ctl, FALSE, _("Failed to start network %s"),
@@ -3053,7 +3053,7 @@ cmdNetworkUuid(vshControl * ctl, vshCmd * cmd)
     if (virNetworkGetUUIDString(network, uuid) != -1)
         vshPrint(ctl, "%s\n", uuid);
     else
-        vshError(ctl, FALSE, _("failed to get network UUID"));
+        vshError(ctl, FALSE, "%s", _("failed to get network UUID"));

     return TRUE;
 }
@@ -3567,7 +3567,7 @@ cmdPoolList(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)
     if (active) {
         maxactive = virConnectNumOfStoragePools(ctl->conn);
         if (maxactive < 0) {
-            vshError(ctl, FALSE, _("Failed to list active pools"));
+            vshError(ctl, FALSE, "%s", _("Failed to list active pools"));
             return FALSE;
         }
         if (maxactive) {
@@ -3575,7 +3575,7 @@ cmdPoolList(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)

             if ((maxactive = virConnectListStoragePools(ctl->conn, activeNames,
                                                         maxactive)) < 0) {
-                vshError(ctl, FALSE, _("Failed to list active pools"));
+                vshError(ctl, FALSE, "%s", _("Failed to list active pools"));
                 free(activeNames);
                 return FALSE;
             }
@@ -3586,7 +3586,7 @@ cmdPoolList(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)
     if (inactive) {
         maxinactive = virConnectNumOfDefinedStoragePools(ctl->conn);
         if (maxinactive < 0) {
-            vshError(ctl, FALSE, _("Failed to list inactive pools"));
+            vshError(ctl, FALSE, "%s", _("Failed to list inactive pools"));
             if (activeNames)
                 free(activeNames);
             return FALSE;
@@ -3595,7 +3595,7 @@ cmdPoolList(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)
             inactiveNames = vshMalloc(ctl, sizeof(char *) * maxinactive);

             if ((maxinactive = virConnectListDefinedStoragePools(ctl->conn, inactiveNames, maxinactive)) < 0) {
-                vshError(ctl, FALSE, _("Failed to list inactive pools"));
+                vshError(ctl, FALSE, "%s", _("Failed to list inactive pools"));
                 if (activeNames)
                     free(activeNames);
                 free(inactiveNames);
@@ -3701,7 +3701,7 @@ cmdPoolDiscover(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)
                                                 type,
                                                 0,
                                                 &xmlDesc)) < 0) {
-        vshError(ctl, FALSE, _("Failed to discover pools"));
+        vshError(ctl, FALSE, "%s", _("Failed to discover pools"));
         return FALSE;
     }

@@ -3934,7 +3934,7 @@ cmdPoolUuid(vshControl * ctl, vshCmd * cmd)
     if (virStoragePoolGetUUIDString(pool, uuid) != -1)
         vshPrint(ctl, "%s\n", uuid);
     else
-        vshError(ctl, FALSE, _("failed to get pool UUID"));
+        vshError(ctl, FALSE, "%s", _("failed to get pool UUID"));

     return TRUE;
 }
@@ -4310,7 +4310,7 @@ cmdVolList(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)
     maxactive = virStoragePoolNumOfVolumes(pool);
     if (maxactive < 0) {
         virStoragePoolFree(pool);
-        vshError(ctl, FALSE, _("Failed to list active vols"));
+        vshError(ctl, FALSE, "%s", _("Failed to list active vols"));
         return FALSE;
     }
     if (maxactive) {
@@ -4318,7 +4318,7 @@ cmdVolList(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)

         if ((maxactive = virStoragePoolListVolumes(pool, activeNames,
                                                    maxactive)) < 0) {
-            vshError(ctl, FALSE, _("Failed to list active vols"));
+            vshError(ctl, FALSE, "%s", _("Failed to list active vols"));
             free(activeNames);
             virStoragePoolFree(pool);
             return FALSE;
@@ -4491,7 +4491,7 @@ cmdVersion(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)

     hvType = virConnectGetType(ctl->conn);
     if (hvType == NULL) {
-        vshError(ctl, FALSE, _("failed to get hypervisor type"));
+        vshError(ctl, FALSE, "%s", _("failed to get hypervisor type"));
         return FALSE;
     }

@@ -4505,7 +4505,7 @@ cmdVersion(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)

     ret = virGetVersion(&libVersion, hvType, &apiVersion);
     if (ret < 0) {
-        vshError(ctl, FALSE, _("failed to get the library version"));
+        vshError(ctl, FALSE, "%s", _("failed to get the library version"));
         return FALSE;
     }
     major = libVersion / 1000000;
@@ -4524,7 +4524,7 @@ cmdVersion(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)

     ret = virConnectGetVersion(ctl->conn, &hvVersion);
     if (ret < 0) {
-        vshError(ctl, FALSE, _("failed to get the hypervisor version"));
+        vshError(ctl, FALSE, "%s", _("failed to get the hypervisor version"));
         return FALSE;
     }
     if (hvVersion == 0) {
@@ -4561,7 +4561,7 @@ cmdHostname (vshControl *ctl, vshCmd *cmd ATTRIBUTE_UNUSED)

     hostname = virConnectGetHostname (ctl->conn);
     if (hostname == NULL) {
-        vshError(ctl, FALSE, _("failed to get hostname"));
+        vshError(ctl, FALSE, "%s", _("failed to get hostname"));
         return FALSE;
     }

@@ -4590,7 +4590,7 @@ cmdURI (vshControl *ctl, vshCmd *cmd ATTRIBUTE_UNUSED)

     uri = virConnectGetURI (ctl->conn);
     if (uri == NULL) {
-        vshError(ctl, FALSE, _("failed to get URI"));
+        vshError(ctl, FALSE, "%s", _("failed to get URI"));
         return FALSE;
     }

@@ -5016,12 +5016,12 @@ cmdDetachInterface(vshControl * ctl, vshCmd * cmd)
                      XML_PARSE_NOWARNING);
     free(doc);
     if (!xml) {
-        vshError(ctl, FALSE, _("Failed to get interface information"));
+        vshError(ctl, FALSE, "%s", _("Failed to get interface information"));
         goto cleanup;
     }
     ctxt = xmlXPathNewContext(xml);
     if (!ctxt) {
-        vshError(ctl, FALSE, _("Failed to get interface information"));
+        vshError(ctl, FALSE, "%s", _("Failed to get interface information"));
         goto cleanup;
     }

@@ -5057,12 +5057,12 @@ cmdDetachInterface(vshControl * ctl, vshCmd * cmd)
  hit:
     xml_buf = xmlBufferCreate();
     if (!xml_buf) {
-        vshError(ctl, FALSE, _("Failed to allocate memory"));
+        vshError(ctl, FALSE, "%s", _("Failed to allocate memory"));
         goto cleanup;
     }

     if(xmlNodeDump(xml_buf, xml, obj->nodesetval->nodeTab[i], 0, 0) < 0){
-        vshError(ctl, FALSE, _("Failed to create XML"));
+        vshError(ctl, FALSE, "%s", _("Failed to create XML"));
         goto cleanup;
     }

@@ -5298,19 +5298,19 @@ cmdDetachDisk(vshControl * ctl, vshCmd * cmd)
                      XML_PARSE_NOWARNING);
     free(doc);
     if (!xml) {
-        vshError(ctl, FALSE, _("Failed to get disk information"));
+        vshError(ctl, FALSE, "%s", _("Failed to get disk information"));
         goto cleanup;
     }
     ctxt = xmlXPathNewContext(xml);
     if (!ctxt) {
-        vshError(ctl, FALSE, _("Failed to get disk information"));
+        vshError(ctl, FALSE, "%s", _("Failed to get disk information"));
         goto cleanup;
     }

     obj = xmlXPathEval(BAD_CAST "/domain/devices/disk", ctxt);
     if ((obj == NULL) || (obj->type != XPATH_NODESET) ||
         (obj->nodesetval == NULL) || (obj->nodesetval->nodeNr == 0)) {
-        vshError(ctl, FALSE, _("Failed to get disk information"));
+        vshError(ctl, FALSE, "%s", _("Failed to get disk information"));
         goto cleanup;
     }

@@ -5335,12 +5335,12 @@ cmdDetachDisk(vshControl * ctl, vshCmd * cmd)
  hit:
     xml_buf = xmlBufferCreate();
     if (!xml_buf) {
-        vshError(ctl, FALSE, _("Failed to allocate memory"));
+        vshError(ctl, FALSE, "%s", _("Failed to allocate memory"));
         goto cleanup;
     }

     if(xmlNodeDump(xml_buf, xml, obj->nodesetval->nodeTab[i], 0, 0) < 0){
-        vshError(ctl, FALSE, _("Failed to create XML"));
+        vshError(ctl, FALSE, "%s", _("Failed to create XML"));
         goto cleanup;
     }

@@ -5742,7 +5742,7 @@ vshCommandOptDomainBy(vshControl * ctl, vshCmd * cmd, const char *optname,
     int id;

     if (!(n = vshCommandOptString(cmd, optname, NULL))) {
-        vshError(ctl, FALSE, _("undefined domain name or id"));
+        vshError(ctl, FALSE, "%s", _("undefined domain name or id"));
         return NULL;
     }

@@ -5787,7 +5787,7 @@ vshCommandOptNetworkBy(vshControl * ctl, vshCmd * cmd, const char *optname,
     char *n;

     if (!(n = vshCommandOptString(cmd, optname, NULL))) {
-        vshError(ctl, FALSE, _("undefined network name"));
+        vshError(ctl, FALSE, "%s", _("undefined network name"));
         return NULL;
     }

@@ -5824,7 +5824,7 @@ vshCommandOptPoolBy(vshControl * ctl, vshCmd * cmd, const char *optname,
     char *n;

     if (!(n = vshCommandOptString(cmd, optname, NULL))) {
-        vshError(ctl, FALSE, _("undefined pool name"));
+        vshError(ctl, FALSE, "%s", _("undefined pool name"));
         return NULL;
     }

@@ -5865,12 +5865,12 @@ vshCommandOptVolBy(vshControl * ctl, vshCmd * cmd,
     int found;

     if (!(n = vshCommandOptString(cmd, optname, NULL))) {
-        vshError(ctl, FALSE, _("undefined vol name"));
+        vshError(ctl, FALSE, "%s", _("undefined vol name"));
         return NULL;
     }

     if (!(p = vshCommandOptString(cmd, pooloptname, &found)) && found) {
-        vshError(ctl, FALSE, _("undefined pool name"));
+        vshError(ctl, FALSE, "%s", _("undefined pool name"));
         return NULL;
     }

@@ -6006,7 +6006,7 @@ vshCommandGetToken(vshControl * ctl, char *str, char **end, char **res)
         sz++;
     }
     if (quote) {
-        vshError(ctl, FALSE, _("missing \""));
+        vshError(ctl, FALSE, "%s", _("missing \""));
         return VSH_TK_ERROR;
     }
     if (tkstr == NULL || *tkstr == '\0' || p == NULL)
@@ -6216,7 +6216,7 @@ vshConnectionUsability(vshControl * ctl, virConnectPtr conn, int showerror)
      */
     if (!conn) {
         if (showerror)
-            vshError(ctl, FALSE, _("no valid connection"));
+            vshError(ctl, FALSE, "%s", _("no valid connection"));
         return FALSE;
     }
     return TRUE;
@@ -6366,7 +6366,7 @@ vshInit(vshControl * ctl)
      * such as "help".
      */
     if (!ctl->conn) {
-        vshError(ctl, FALSE, _("failed to connect to the hypervisor"));
+        vshError(ctl, FALSE, "%s", _("failed to connect to the hypervisor"));
         return FALSE;
     }

@@ -6397,18 +6397,20 @@ vshOpenLogFile(vshControl *ctl)
             case ENOENT:
                 break;
             default:
-                vshError(ctl, TRUE, _("failed to get the log file information"));
+                vshError(ctl, TRUE, "%s",
+                         _("failed to get the log file information"));
                 break;
         }
     } else {
         if (!S_ISREG(st.st_mode)) {
-            vshError(ctl, TRUE, _("the log path is not a file"));
+            vshError(ctl, TRUE, "%s", _("the log path is not a file"));
         }
     }

     /* log file open */
     if ((ctl->log_fd = open(ctl->logfile, LOGFILE_FLAGS, FILE_MODE)) < 0) {
-        vshError(ctl, TRUE, _("failed to open the log file. check the log file path"));
+        vshError(ctl, TRUE, "%s",
+                 _("failed to open the log file. check the log file path"));
     }
 }

@@ -6476,7 +6478,7 @@ vshOutputLogFile(vshControl *ctl, int log_level, const char *msg_format, va_list
     /* write log */
     if (write(ctl->log_fd, msg_buf, strlen(msg_buf)) == -1) {
         vshCloseLogFile(ctl);
-        vshError(ctl, FALSE, _("failed to write the log file"));
+        vshError(ctl, FALSE, "%s", _("failed to write the log file"));
     }
 }

@@ -6704,7 +6706,7 @@ vshUsage(vshControl * ctl, const char *cmdname)
                     "    %-15s %s\n", cmd->name, N_(vshCmddefGetInfo(cmd,
                                                                      "help")));

-        fprintf(stdout,
+        fprintf(stdout, "%s",
                 _("\n  (specify help <command> for details about the command)\n\n"));
         return;
     }
@@ -6891,7 +6893,7 @@ main(int argc, char **argv)
             vshPrint(ctl,
                      _("Welcome to %s, the virtualization interactive terminal.\n\n"),
                      progname);
-            vshPrint(ctl,
+            vshPrint(ctl, "%s",
                      _("Type:  'help' for help with commands\n"
                        "       'quit' to quit\n\n"));
         }
--
1.5.4.rc1.11.gd2f82




More information about the libvir-list mailing list