aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2010-01-12 07:03:14 +0000
committerKeir Fraser <keir.fraser@citrix.com>2010-01-12 07:03:14 +0000
commit0d8907b04950b007876f787df51b4cba595cd2ed (patch)
treee8441140bb2b0ed4b1c666daba5302dabbf12b4a
parentf777e25427e0204eaa74f8739fe02c436bdfc339 (diff)
downloadxen-0d8907b04950b007876f787df51b4cba595cd2ed.tar.gz
xen-0d8907b04950b007876f787df51b4cba595cd2ed.tar.bz2
xen-0d8907b04950b007876f787df51b4cba595cd2ed.zip
libxenlight: do not try to set memory target with a number we haven't
verified in set-mem. checking that memory string conversion what done properly instead of sending a request to balloon a domain to 0 memory. Signed-off-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com>
-rw-r--r--tools/libxl/xl.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index 2322ce4a67..90896f3e08 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -993,6 +993,8 @@ void set_memory_target(char *p, char *mem)
{
struct libxl_ctx ctx;
uint32_t domid;
+ uint32_t memorykb;
+ char *endptr;
if (libxl_ctx_init(&ctx, LIBXL_VERSION)) {
fprintf(stderr, "cannot init xl context\n");
@@ -1004,7 +1006,13 @@ void set_memory_target(char *p, char *mem)
fprintf(stderr, "%s is an invalid domain identifier\n", p);
exit(2);
}
- libxl_set_memory_target(&ctx, domid, atoi(mem));
+ memorykb = strtoul(mem, &endptr, 10);
+ if (*endptr != '\0') {
+ fprintf(stderr, "invalid memory size: %s\n", mem);
+ exit(3);
+ }
+ printf("setting domid %d memory to : %d\n", domid, memorykb);
+ libxl_set_memory_target(&ctx, domid, memorykb);
}
int main_memset(int argc, char **argv)