[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [Libguestfs] [PATCH 1/2] common/mlstdutils: Add with_open_in and with_open_out functions.



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

Attachment: signature.asc
Description: This is a digitally signed message part.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]