Re: [Patch v1 1/3] bugreport.c: replace strbuf_write_fd with write_in_full
- From
Đoàn Trần Công Danh <congdanhqx@gmail.com>
- Date
- Jun 19, 2020, 16:35 UTC
- Message-ID
- <20200619163530.GB5027@danh.dev>
- In-Reply-To
- <20200619150445.4380-2-randall.s.becker@rogers.com>
On 2020-06-19 11:04:43-0400, randall.s.becker@rogers.com wrote:
Show 23 quoted lines
> From: "Randall S. Becker" <rsbecker@nexbridge.com>
>
> The strbuf_write_fd method did not provide checks for buffers larger
> than MAX_IO_SIZE. Replacing with write_in_full ensures the entire
> buffer will always be written to disk or report an error and die.
>
> Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com>
> ---
> bugreport.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/bugreport.c b/bugreport.c
> index aa8a489c35..bc359b7fa8 100644
> --- a/bugreport.c
> +++ b/bugreport.c
> @@ -174,7 +174,10 @@ int cmd_main(int argc, const char **argv)
> die(_("couldn't create a new file at '%s'"), report_path.buf);
> }
>
> - strbuf_write_fd(&buffer, report);
> + if (write_in_full(report, buffer.buf, buffer.len) < 0) {
> + die(_("couldn't write report contents '%s' to file '%s'"),
> + buffer.buf, report_path.buf);Doesn't this dump the whole report to the stderr? If it's the case, the error would be very hard to grasp.
Nit: We wouldn't want the pair of {}.Show 7 quoted lines
> + } > close(report); > > /* > -- > 2.21.0 >
-- Danh