From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunyan Liu Subject: [PATCH V2] Fix: 'xl vncviewer' accesses port 0 by any invalid domid Date: Fri, 18 Jul 2014 14:18:04 +0800 Message-ID: <1405664284-4501-1-git-send-email-cyliu@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: Chunyan Liu , ian.jackson@eu.citrix.com, ian.campbell@citrix.com, stefano.stabellini@eu.citrix.com List-Id: xen-devel@lists.xenproject.org Currently, with command: xl vncviewer invalid_domid it always brings user to the domU using vncport 5900. The invalid domid could be an non-existing one or Dom0. It's better to report error in this case. Correct libxl_vncviewer_exec: In existing code, when vncport is NULL, it still continues and will show vncport 5900. So, with 'xl vncviewer 0' it also wrongly shows domU using vncport 5900. Correct it to report error if vncport is NULL. Signed-off-by: Chunyan Liu --- Changes: * update vncport=NULL section (change LIBXL__LOG to LOG, etc.) * remove domid check section in V1. V1 is here: http://www.gossamer-threads.com/lists/xen/devel/339915 tools/libxl/libxl.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index a9205d1..3526539 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -1719,8 +1719,12 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass) vnc_port = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/console/vnc-port", domid)); - if ( vnc_port ) - port = atoi(vnc_port) - 5900; + if (!vnc_port) { + LOG(ERROR, "Cannot get vnc-port of domain %d", domid); + goto x_fail; + } + + port = atoi(vnc_port) - 5900; vnc_listen = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, -- 1.8.4.5