xl: Check invalid domid in find_domain()
authorKeir Fraser <keir.fraser@citrix.com>
Fri, 14 May 2010 06:56:43 +0000 (07:56 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Fri, 14 May 2010 06:56:43 +0000 (07:56 +0100)
If domain id is invalid, find_domain should return error because
the specified domain does not exist.

Signed-off-by: Yang Hongyang <yanghy@cn.fujitsu.com>
tools/libxl/xl_cmdimpl.c

index 2101ee58d0ab72f183fccc11445f9b21c88b8dfb..4faf61971e278688d5b133645aa22a00891722c0 100644 (file)
@@ -137,7 +137,11 @@ static void find_domain(const char *p)
         fprintf(stderr, "%s is an invalid domain identifier (rc=%d)\n", p, rc);
         exit(2);
     }
-    common_domname = was_name ? p : 0;
+    common_domname = was_name ? p : libxl_domid_to_name(&ctx, domid);
+    if (!common_domname) {
+        fprintf(stderr, "%s is an invalid domain identifier.\n", p);
+        exit(2);
+    }
 }
 
 #define LOG(_f, _a...)   dolog(__FILE__, __LINE__, __func__, _f "\n", ##_a)