From 0570a6831b40bf3a304b4deb07542ad10692dbf9 Mon Sep 17 00:00:00 2001 From: Jeremy Kerr Date: Tue, 12 Jul 2022 15:30:43 +0800 Subject: [PATCH] plugins/wdc: don't write invalid log data In wdc_do_cap_telemetry_log, we currently continue to write log data if any of the telemetry queries return with < 0. This change aborts the output write on these errors instead. Signed-off-by: Jeremy Kerr --- plugins/wdc/wdc-nvme.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/wdc/wdc-nvme.c b/plugins/wdc/wdc-nvme.c index 653d89f4..14ea4ba7 100644 --- a/plugins/wdc/wdc-nvme.c +++ b/plugins/wdc/wdc-nvme.c @@ -2454,9 +2454,10 @@ static int wdc_do_cap_telemetry_log(int fd, char *file, __u32 bs, int type, int else err = nvme_get_host_telemetry(fd, &log, data_area, &full_size); - if (err < 0) + if (err < 0) { perror("get-telemetry-log"); - else if (err > 0) { + goto close_output; + } else if (err > 0) { nvme_show_status(err); fprintf(stderr, "%s: Failed to acquire telemetry header!\n", __func__); goto close_output; -- 2.51.0