From c5d17ad1ec4b466ae97af724a273f09d94094613 Mon Sep 17 00:00:00 2001 From: Levi Neely <141506390+lneely@users.noreply.github.com> Date: Wed, 14 Aug 2024 21:12:50 +0200 Subject: [PATCH] safer sendcalls in control_tools --- cmd/pcloudcc/control_tools.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/cmd/pcloudcc/control_tools.cpp b/cmd/pcloudcc/control_tools.cpp index 303a132..6d3908c 100644 --- a/cmd/pcloudcc/control_tools.cpp +++ b/cmd/pcloudcc/control_tools.cpp @@ -61,14 +61,16 @@ int start_crypto(const char *pass) { char *errm; size_t errm_size; - if (SendCall(STARTCRYPTO, pass, &ret, &errm, &errm_size)) { + int result = SendCall(STARTCRYPTO, pass, &ret, &errm, &errm_size); + if (result != 0 || ret != 0) { std::cout << "Start Crypto failed. return is " << ret << " and message is " << errm << std::endl; } else { std::cout << "Crypto started. " << std::endl; } - free(errm); + if (errm) + free(errm); return ret; } @@ -77,14 +79,16 @@ int stop_crypto() { char *errm; size_t errm_size; - if (SendCall(STOPCRYPTO, "", &ret, &errm, &errm_size)) { + int result = SendCall(STOPCRYPTO, "", &ret, &errm, &errm_size); + if (result != 0 || ret != 0) { std::cout << "Stop Crypto failed. return is " << ret << " and message is " << errm << std::endl; } else { std::cout << "Crypto Stopped. " << std::endl; } - free(errm); + if (errm) + free(errm); return ret; }