Fix output of uninitialized strings
authorKevin Wolf <kwolf@redhat.com>
Tue, 19 May 2009 16:51:34 +0000 (18:51 +0200)
committerAnthony Liguori <aliguori@us.ibm.com>
Wed, 27 May 2009 14:44:51 +0000 (09:44 -0500)
Commit ffad4116b96e29e0fbe892806f97c0a6c903d30d removed the "scratch buffer"
from check_params, but didn't care for the error messages which actually
included this string to tell the user which option was wrong. Now this string
is uninitialized, so this patch removes it from the message.

This means that the user is only told the whole parameter string and has to
pick the wrong option by himself as the callers of check_params can't know this
value any more. An alternative approach would be to revert that commit and do
whatever is needed to fix the original problem without changing check_params.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
net.c
vl.c

diff --git a/net.c b/net.c
index 31ee95a4ff3daea30adb99a55ae8b80c0d7ef702..88823b840324fd632b10cfafbc6aa3a381e8bf82 100644 (file)
--- a/net.c
+++ b/net.c
@@ -1792,8 +1792,7 @@ int net_client_init(const char *device, const char *p)
         int idx = nic_get_free_idx();
 
         if (check_params(nic_params, p) < 0) {
-            fprintf(stderr, "qemu: invalid parameter '%s' in '%s'\n",
-                    buf, p);
+            fprintf(stderr, "qemu: invalid parameter in '%s'\n", p);
             return -1;
         }
         if (idx == -1 || nb_nics >= MAX_NICS) {
@@ -1843,8 +1842,7 @@ int net_client_init(const char *device, const char *p)
             "vlan", "name", "hostname", "restrict", "ip", NULL
         };
         if (check_params(slirp_params, p) < 0) {
-            fprintf(stderr, "qemu: invalid parameter '%s' in '%s'\n",
-                    buf, p);
+            fprintf(stderr, "qemu: invalid parameter in '%s'\n", p);
             return -1;
         }
         if (get_param_value(buf, sizeof(buf), "hostname", p)) {
@@ -1894,8 +1892,7 @@ int net_client_init(const char *device, const char *p)
         char ifname[64];
 
         if (check_params(tap_params, p) < 0) {
-            fprintf(stderr, "qemu: invalid parameter '%s' in '%s'\n",
-                    buf, p);
+            fprintf(stderr, "qemu: invalid parameter in '%s'\n", p);
             return -1;
         }
         if (get_param_value(ifname, sizeof(ifname), "ifname", p) <= 0) {
@@ -1915,8 +1912,7 @@ int net_client_init(const char *device, const char *p)
         vlan->nb_host_devs++;
         if (get_param_value(buf, sizeof(buf), "fd", p) > 0) {
             if (check_params(fd_params, p) < 0) {
-                fprintf(stderr, "qemu: invalid parameter '%s' in '%s'\n",
-                        buf, p);
+                fprintf(stderr, "qemu: invalid parameter in '%s'\n", p);
                 return -1;
             }
             fd = strtol(buf, NULL, 0);
@@ -1928,8 +1924,7 @@ int net_client_init(const char *device, const char *p)
                 "vlan", "name", "ifname", "script", "downscript", NULL
             };
             if (check_params(tap_params, p) < 0) {
-                fprintf(stderr, "qemu: invalid parameter '%s' in '%s'\n",
-                        buf, p);
+                fprintf(stderr, "qemu: invalid parameter in '%s'\n", p);
                 return -1;
             }
             if (get_param_value(ifname, sizeof(ifname), "ifname", p) <= 0) {
@@ -1949,8 +1944,7 @@ int net_client_init(const char *device, const char *p)
         if (get_param_value(buf, sizeof(buf), "fd", p) > 0) {
             int fd;
             if (check_params(fd_params, p) < 0) {
-                fprintf(stderr, "qemu: invalid parameter '%s' in '%s'\n",
-                        buf, p);
+                fprintf(stderr, "qemu: invalid parameter in '%s'\n", p);
                 return -1;
             }
             fd = strtol(buf, NULL, 0);
@@ -1962,8 +1956,7 @@ int net_client_init(const char *device, const char *p)
                 "vlan", "name", "listen", NULL
             };
             if (check_params(listen_params, p) < 0) {
-                fprintf(stderr, "qemu: invalid parameter '%s' in '%s'\n",
-                        buf, p);
+                fprintf(stderr, "qemu: invalid parameter in '%s'\n", p);
                 return -1;
             }
             ret = net_socket_listen_init(vlan, device, name, buf);
@@ -1972,8 +1965,7 @@ int net_client_init(const char *device, const char *p)
                 "vlan", "name", "connect", NULL
             };
             if (check_params(connect_params, p) < 0) {
-                fprintf(stderr, "qemu: invalid parameter '%s' in '%s'\n",
-                        buf, p);
+                fprintf(stderr, "qemu: invalid parameter in '%s'\n", p);
                 return -1;
             }
             ret = net_socket_connect_init(vlan, device, name, buf);
@@ -1982,8 +1974,7 @@ int net_client_init(const char *device, const char *p)
                 "vlan", "name", "mcast", NULL
             };
             if (check_params(mcast_params, p) < 0) {
-                fprintf(stderr, "qemu: invalid parameter '%s' in '%s'\n",
-                        buf, p);
+                fprintf(stderr, "qemu: invalid parameter in '%s'\n", p);
                 return -1;
             }
             ret = net_socket_mcast_init(vlan, device, name, buf);
@@ -2003,8 +1994,7 @@ int net_client_init(const char *device, const char *p)
        int vde_port, vde_mode;
 
         if (check_params(vde_params, p) < 0) {
-            fprintf(stderr, "qemu: invalid parameter '%s' in '%s'\n",
-                    buf, p);
+            fprintf(stderr, "qemu: invalid parameter in '%s'\n", p);
             return -1;
         }
         vlan->nb_host_devs++;
diff --git a/vl.c b/vl.c
index 2c1f0e0bd24484b951fff9edcf1dab57cd1180e6..b1216c01837c5e82f485c74735f1cae30d394d91 100644 (file)
--- a/vl.c
+++ b/vl.c
@@ -2227,8 +2227,7 @@ int drive_init(struct drive_opt *arg, int snapshot, void *opaque)
                                            NULL };
 
     if (check_params(params, str) < 0) {
-         fprintf(stderr, "qemu: unknown parameter '%s' in '%s'\n",
-                         buf, str);
+         fprintf(stderr, "qemu: unknown parameter in '%s'\n", str);
          return -1;
     }