From eccdaeafda703986deeebf985ae8dc6e6bfba934 Mon Sep 17 00:00:00 2001 From: Hannes Mehnert Date: Thu, 21 Nov 2019 13:07:02 +0100 Subject: [PATCH] set umask in mkfifo --- src/vmm_unix.ml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/vmm_unix.ml b/src/vmm_unix.ml index 588f9fb..beb565e 100644 --- a/src/vmm_unix.ml +++ b/src/vmm_unix.ml @@ -191,8 +191,15 @@ let prepare name vm = | Ok true -> Ok () | Ok false -> R.error_msgf "file %a exists and is not a fifo" Fpath.pp fifo | Error _ -> - try Ok (mkfifo fifo) with + let old_umask = Unix.umask 0 in + let _ = Unix.umask (old_umask land 0o707) in + try + let f = mkfifo fifo in + let _ = Unix.umask old_umask in + Ok f + with | Unix.Unix_error (e, f, _) -> + let _ = Unix.umask old_umask in R.error_msgf "file %a error in %s: %a" Fpath.pp fifo f pp_unix_err e end >>= fun () -> List.fold_left (fun acc b ->