[Patch v1 1/3] bugreport.c: replace strbuf_write_fd with write_in_full
- From
- randall.s.becker@rogers.com <randall.s.becker@rogers.com>
- Date
- Jun 19, 2020, 15:04 UTC
- Message-ID
- <20200619150445.4380-2-randall.s.becker@rogers.com>
- In-Reply-To
- <20200619150445.4380-1-randall.s.becker@rogers.com>
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); + } close(report); /*
-- 2.21.0