From 81f7bfe89cb1101fad67e5db7779809111359a6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= Date: Wed, 4 Nov 2020 19:39:43 +0000 Subject: XSA-354: ls_lR: factor out dir concatenation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Edwin Török Acked-by: Christian Lindig diff --git a/xc/xenops_server_xen.ml b/xc/xenops_server_xen.ml index 69404de6..008e8dda 100644 --- a/xc/xenops_server_xen.ml +++ b/xc/xenops_server_xen.ml @@ -2592,12 +2592,11 @@ module VM = struct with Xs_protocol.Enoent _ -> "" in let rec ls_lR root dir = - let this = - try [(dir, xs.Xs.read (root ^ "/" ^ dir))] with _ -> [] - in + let entry = root ^ "/" ^ dir in + let this = try [(dir, xs.Xs.read entry)] with _ -> [] in let subdirs = try - xs.Xs.directory (root ^ "/" ^ dir) + xs.Xs.directory entry |> List.filter (fun x -> x <> "") |> map_tr (fun x -> dir ^ "/" ^ x) with _ -> []