aboutsummaryrefslogtreecommitdiff
path: root/src/util.cpp
diff options
context:
space:
mode:
authorDeterminant <tederminant@gmail.com>2018-07-19 14:43:15 -0400
committerDeterminant <tederminant@gmail.com>2018-07-19 14:43:15 -0400
commitb4bf23c07601560d708fbdd7c20aca20b630c983 (patch)
tree021e31927feed92dc61df6b51c3e840471715650 /src/util.cpp
parenta75778995a4e0742f244670e9cc02a56611ccfe0 (diff)
clean up code; fix mem leak in util
Diffstat (limited to 'src/util.cpp')
-rw-r--r--src/util.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/util.cpp b/src/util.cpp
index 7125598..7ef01a9 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -220,8 +220,7 @@ size_t Config::parse(int argc, char **argv) {
SALTICIDAE_LOG_INFO("loaded configuration from %s", conf_fname.c_str());
size_t nopts = opts.size();
- struct option *longopts = (struct option *)malloc(
- sizeof(struct option) * (nopts + 1));
+ auto longopts = BoxObj<struct option[]>(new struct option[nopts + 1]);
int ind;
std::string shortopts;
for (size_t i = 0; i < nopts; i++)
@@ -238,7 +237,7 @@ size_t Config::parse(int argc, char **argv) {
longopts[nopts] = {0, 0, 0, 0};
for (;;)
{
- int id = getopt_long(argc, argv, shortopts.c_str(), longopts, &ind);
+ int id = getopt_long(argc, argv, shortopts.c_str(), longopts.get(), &ind);
if (id == -1)
break;
if (id == '?')