From: Ian Jackson Date: Tue, 3 May 2016 15:35:21 +0000 (+0100) Subject: libxl: Do not trust backend in nic getinfo X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~1040 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=922b354718556a6da29cdc45dc66f53fa224b1ac;p=xen.git libxl: Do not trust backend in nic getinfo This is part of XSA-178. Signed-off-by: Ian Jackson Reviewed-by: Wei Liu --- diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index a4b8a41b9f..34791d424e 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -3753,10 +3753,8 @@ int libxl_device_nic_getinfo(libxl_ctx *ctx, uint32_t domid, nicinfo->rref_tx = val ? strtoul(val, NULL, 10) : -1; val = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/rx-ring-ref", nicpath)); nicinfo->rref_rx = val ? strtoul(val, NULL, 10) : -1; - nicinfo->frontend = xs_read(ctx->xsh, XBT_NULL, - GCSPRINTF("%s/frontend", nicinfo->backend), NULL); - val = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/frontend-id", nicinfo->backend)); - nicinfo->frontend_id = val ? strtoul(val, NULL, 10) : -1; + nicinfo->frontend = libxl__strdup(NOGC, nicpath); + nicinfo->frontend_id = domid; rc = 0; out: