From cf3db5f1d49ae5b967aa9ed7fa9a03fb0a91143f Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Mon, 1 Jul 2024 11:41:11 +0200 Subject: [PATCH] nvme: use stdout for exporting TLS keys The export command should use stdout as default output as documentation claims. Furthermore, it should open the keyfile to write in write mode. Signed-off-by: Daniel Wagner --- nvme.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/nvme.c b/nvme.c index 08553e56..28fac1cc 100644 --- a/nvme.c +++ b/nvme.c @@ -9477,14 +9477,25 @@ static int tls_key(int argc, char **argv, struct command *command, struct plugin return err; if (cfg.keyfile) { - fd = fopen(cfg.keyfile, "r"); + const char *mode; + + if (cfg.import) + mode = "r"; + else + mode = "w"; + + fd = fopen(cfg.keyfile, mode); if (!fd) { nvme_show_error("Cannot open keyfile %s, error %d\n", cfg.keyfile, errno); return -errno; } - } else - fd = stdin; + } else { + if (cfg.import) + fd = freopen(NULL, "r", stdin); + else + fd = freopen(NULL, "w", stdout); + } if (cfg.export && cfg.import) { nvme_show_error("Cannot specify both --import and --export"); -- 2.50.1