diff --git a/lib/arguments.cpp b/lib/arguments.cpp index f2b6e32f..e63d182d 100644 --- a/lib/arguments.cpp +++ b/lib/arguments.cpp @@ -136,8 +136,8 @@ int arguments::parse(int argc, char *argv[]) /* Setup "struct option" */ if (!long_opts) - long_opts = (struct option*)calloc(cnt +1, - sizeof(*long_opts)); + long_opts = new struct option[cnt]; + check_oom(long_opts); for (i = 0; i < cnt; ++i) opts[i].fillOption(long_opts +i); @@ -190,8 +190,7 @@ arguments &arguments::operator = (const arguments &a) arguments::~arguments() { - if (long_opts) - free(long_opts); + delete long_opts; } QString arguments::operator [] (const QString &key) const diff --git a/lib/builtin_curves.cpp b/lib/builtin_curves.cpp index dc96a9f6..875156b2 100644 --- a/lib/builtin_curves.cpp +++ b/lib/builtin_curves.cpp @@ -126,8 +126,7 @@ static const QList other_curve_nids() builtin_curves::builtin_curves() { int i, num_curves = EC_get_builtin_curves(NULL, 0); - EC_builtin_curve *curves = (EC_builtin_curve*)OPENSSL_malloc( - (int)(sizeof(EC_builtin_curve) *num_curves)); + EC_builtin_curve *curves = new EC_builtin_curve[num_curves]; check_oom(curves); @@ -174,6 +173,7 @@ builtin_curves::builtin_curves() EC_GROUP_free(group); } BN_free(order); + delete curves; } #else builtin_curves::builtin_curves() { }