summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChih-Hung Hsieh <chh@google.com>2022-12-08 21:53:07 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-12-08 21:53:07 +0000
commita8d11d3915dcaec0b2b659e9021533dd9a4c1faf (patch)
tree9abaf27dd741e409299c8805dd80be87a40329e7
parent756b8f56afcb47337ddc7fa9075cb9d8a2e25634 (diff)
parent4bb5f032689e2f4f6636c1eecbe8dad186f305d6 (diff)
downloadtrusty-a8d11d3915dcaec0b2b659e9021533dd9a4c1faf.tar.gz
Fix potential memory leaks am: e9dc921879 am: 4bb5f03268
Original change: https://android-review.googlesource.com/c/device/generic/trusty/+/2321794 Change-Id: I4da873fa7f7acfe9f7e8fa2182e2e0973066df5f Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--secure_dpu/main.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/secure_dpu/main.cpp b/secure_dpu/main.cpp
index dce2eb4..684f604 100644
--- a/secure_dpu/main.cpp
+++ b/secure_dpu/main.cpp
@@ -31,7 +31,7 @@ static void show_usage_and_exit(int code) {
exit(code);
}
-static void parse_device_name(int argc, char* argv[], char*& device_name) {
+static void parse_device_name(int argc, char* argv[], std::string& device_name) {
static const char* _sopts = "h:d:";
static const struct option _lopts[] = {{"help", no_argument, NULL, 'h'},
{"trusty_dev", required_argument, NULL, 'd'},
@@ -42,7 +42,7 @@ static void parse_device_name(int argc, char* argv[], char*& device_name) {
while ((opt = getopt_long(argc, argv, _sopts, _lopts, &oidx)) != -1) {
switch (opt) {
case 'd':
- device_name = strdup(optarg);
+ device_name = optarg;
break;
default:
@@ -51,7 +51,7 @@ static void parse_device_name(int argc, char* argv[], char*& device_name) {
}
}
- if (device_name == nullptr) {
+ if (device_name.empty()) {
LOG(ERROR) << "missing required argument(s)";
show_usage_and_exit(EXIT_FAILURE);
}
@@ -62,12 +62,12 @@ static void parse_device_name(int argc, char* argv[], char*& device_name) {
int main(int argc, char* argv[])
{
- char* device_name;
+ std::string device_name;
/* parse arguments */
parse_device_name(argc, argv, device_name);
android::trusty::secure_dpu::DPUHandler dpu_handler;
- auto rc = dpu_handler.Init(std::string(device_name));
+ auto rc = dpu_handler.Init(device_name);
if (!rc.ok()) {
LOG(ERROR) << rc.error();
return EXIT_FAILURE;