diff options
author | Daniel Veillard <veillard@redhat.com> | 2006-03-30 12:14:40 +0000 |
---|---|---|
committer | Daniel Veillard <veillard@redhat.com> | 2006-03-30 12:14:40 +0000 |
commit | c9a8f27380f394389a0bfeabfd78f28cf13d0feb (patch) | |
tree | 07dcf4bcdca7e47da07e1b17d53b06ae6d03f787 | |
parent | * doc/*: rebuilt (diff) | |
download | libvirt-c9a8f27380f394389a0bfeabfd78f28cf13d0feb.tar.gz libvirt-c9a8f27380f394389a0bfeabfd78f28cf13d0feb.tar.bz2 libvirt-c9a8f27380f394389a0bfeabfd78f28cf13d0feb.zip |
* src/virsh.c: catching memory allocation error and existing, as
pointed by Jim Meyering
Daniel
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | src/virsh.c | 25 |
2 files changed, 30 insertions, 0 deletions
@@ -1,3 +1,8 @@ +Thu Mar 30 12:15:46 EST 2006 Daniel Veillard <veillard@redhat.com> + + * src/virsh.c: catching memory allocation error and existing, as + pointed by Jim Meyering + Wed Mar 29 16:36:24 CEST 2006 Daniel Veillard <veillard@redhat.com> * doc/*: rebuilt diff --git a/src/virsh.c b/src/virsh.c index 785f544d7..e10bf1c8a 100644 --- a/src/virsh.c +++ b/src/virsh.c @@ -311,6 +311,11 @@ cmdList(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED) return FALSE; } ids = malloc(sizeof(int) * maxid); + if (ids == NULL) { + fprintf(stderr, "Failed to allocate %d bytes\n", + (int) sizeof(int) * maxid); + exit(1); + } virConnectListDomains(ctl->conn, &ids[0], maxid); vshPrint(ctl, VSH_HEADER, "%3s %-20s %s\n", "Id", "Name", "State"); @@ -1284,6 +1289,10 @@ vshCommandGetToken(vshControl * ctl, char *str, char **end, char **res) return VSH_TK_END; *res = malloc(sz + 1); + if (*res == NULL) { + fprintf(stderr, "Failed to allocate %d bytes\n", sz + 1); + exit(1); + } memcpy(*res, tkstr, sz); *(*res + sz) = '\0'; @@ -1379,6 +1388,11 @@ vshCommandParse(vshControl * ctl, char *cmdstr) if (opt) { /* save option */ vshCmdOpt *arg = malloc(sizeof(vshCmdOpt)); + if (arg == NULL) { + fprintf(stderr, "Failed to allocate %d bytes\n", + (int) sizeof(vshCmdOpt)); + exit(1); + } arg->def = opt; arg->data = tkdata; @@ -1405,6 +1419,12 @@ vshCommandParse(vshControl * ctl, char *cmdstr) if (cmd) { vshCmd *c = malloc(sizeof(vshCmd)); + if (c == NULL) { + fprintf(stderr, "Failed to allocate %d bytes\n", + (int) sizeof(vshCmd)); + exit(1); + } + c->opts = first; c->def = cmd; c->next = NULL; @@ -1646,6 +1666,11 @@ vshReadlineOptionsGenerator(const char *text, int state) continue; } res = malloc(strlen(name) + 3); + if (res == NULL) { + fprintf(stderr, "Failed to allocate %d bytes\n", + (int) strlen(name) + 3); + exit(1); + } sprintf(res, "--%s", name); return res; } |