libxl: Cleanup: use libxl__backendpath_parse_domid in libxl__device_disk_from_xs_be
authorIan Jackson <ian.jackson@eu.citrix.com>
Thu, 2 Jun 2016 15:10:31 +0000 (16:10 +0100)
committerWei Liu <wei.liu2@citrix.com>
Thu, 2 Jun 2016 15:35:02 +0000 (16:35 +0100)
Rather than an open-coded sscanf.  No functional change with correct
input.

This is a followup to XSA-175 and XSA-178.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
Release-acked-by: Wei Liu <wei.liu2@citrix.com>
tools/libxl/libxl.c

index d5475ed7d8c03eec57939641c881fe3ad01c3bc3..006b83ff7549615ab0703e032275a91ddf04c183 100644 (file)
@@ -2658,10 +2658,10 @@ static int libxl__device_disk_from_xenstore(libxl__gc *gc,
         goto out;
     }
 
-    rc = sscanf(backend_path, "/local/domain/%d/", &disk->backend_domid);
-    if (rc != 1) {
+    rc = libxl__backendpath_parse_domid(gc, backend_path, &disk->backend_domid);
+    if (rc) {
         LOG(ERROR, "Unable to fetch device backend domid from %s", backend_path);
-        goto cleanup;
+        goto out;
     }
 
     /*