]> git.proxmox.com Git - qemu.git/commitdiff
cmd: Fix potential NULL pointer dereference
authorPavel Borzenkov <pavel.borzenkov@gmail.com>
Mon, 31 Oct 2011 18:53:37 +0000 (22:53 +0400)
committerStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Mon, 7 Nov 2011 08:01:15 +0000 (08:01 +0000)
Signed-off-by: Pavel Borzenkov <pavel.borzenkov@gmail.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
cmd.c

diff --git a/cmd.c b/cmd.c
index a6e3ef4b17ace43d4c8c47cfae3624ef16c47695..75415d86a2866174ee5a9a4f66ac42f3472838e4 100644 (file)
--- a/cmd.c
+++ b/cmd.c
@@ -47,7 +47,7 @@ compare(const void *a, const void *b)
 
 void add_command(const cmdinfo_t *ci)
 {
-    cmdtab = realloc((void *)cmdtab, ++ncmds * sizeof(*cmdtab));
+    cmdtab = g_realloc((void *)cmdtab, ++ncmds * sizeof(*cmdtab));
     cmdtab[ncmds - 1] = *ci;
     qsort(cmdtab, ncmds, sizeof(*cmdtab), compare);
 }
@@ -122,12 +122,7 @@ find_command(
 
 void add_user_command(char *optarg)
 {
-    ncmdline++;
-    cmdline = realloc(cmdline, ncmdline * sizeof(char *));
-    if (!cmdline) {
-        perror("realloc");
-        exit(1);
-    }
+    cmdline = g_realloc(cmdline, ++ncmdline * sizeof(char *));
     cmdline[ncmdline-1] = optarg;
 }
 
@@ -190,7 +185,7 @@ void command_loop(void)
         doneline(input, v);
     }
     if (cmdline) {
-        free(cmdline);
+        g_free(cmdline);
         return;
     }