On Sunday, 5 November 2017 20:42:40 CET Richard W.M. Jones wrote:
 These safe wrappers around Pervasives.open_in and
Pervasives.open_out
 ensure that exceptions escaping cannot leave unclosed files.
 --- 
Mostly LGTM, just one note/improvement.
 diff --git a/v2v/input_libvirt_vddk.ml b/v2v/input_libvirt_vddk.ml
 index 63e76a5aa..e29fbc2b7 100644
 --- a/v2v/input_libvirt_vddk.ml
 +++ b/v2v/input_libvirt_vddk.ml
 @@ -240,10 +240,11 @@ object
             "password=-"
          | Some password ->
             let password_file = tmpdir // "password" in
 -           let chan = open_out password_file in
 -           chmod password_file 0o600;
 -           output_string chan password;
 -           close_out chan;
 +           with_open_out password_file (
 +             fun chan ->
 +               chmod password_file 0o600;
 +               output_string chan password
 +           ); 
Now that I see this, the chmod could be directly on the fd of the open
channel, to be sure to perform it on the actual file:
  fchmod (descr_of_out_channel chan) 0o600;
Thanks,
-- 
Pino Toscano