Remove malloc in edify functions

And switch them to std::vector & std::unique_ptr

Bug: 32117870
Test: recovery tests passed on sailfish
Change-Id: I5a45951c4bdf895be311d6d760e52e7a1b0798c3
diff --git a/tests/component/edify_test.cpp b/tests/component/edify_test.cpp
index 287e40c..61a1e6b 100644
--- a/tests/component/edify_test.cpp
+++ b/tests/component/edify_test.cpp
@@ -14,6 +14,7 @@
  * limitations under the License.
  */
 
+#include <memory>
 #include <string>
 
 #include <gtest/gtest.h>
@@ -21,7 +22,7 @@
 #include "edify/expr.h"
 
 static void expect(const char* expr_str, const char* expected) {
-    Expr* e;
+    std::unique_ptr<Expr> e;
     int error_count = 0;
     EXPECT_EQ(0, parse_string(expr_str, &e, &error_count));
     EXPECT_EQ(0, error_count);
@@ -152,7 +153,7 @@
 TEST_F(EdifyTest, unknown_function) {
     // unknown function
     const char* script1 = "unknown_function()";
-    Expr* expr;
+    std::unique_ptr<Expr> expr;
     int error_count = 0;
     EXPECT_EQ(1, parse_string(script1, &expr, &error_count));
     EXPECT_EQ(1, error_count);
diff --git a/tests/component/updater_test.cpp b/tests/component/updater_test.cpp
index 4f8349e..ef121a9 100644
--- a/tests/component/updater_test.cpp
+++ b/tests/component/updater_test.cpp
@@ -19,6 +19,7 @@
 #include <sys/types.h>
 #include <unistd.h>
 
+#include <memory>
 #include <string>
 #include <vector>
 
@@ -46,7 +47,7 @@
 
 static void expect(const char* expected, const char* expr_str, CauseCode cause_code,
                    UpdaterInfo* info = nullptr) {
-  Expr* e;
+  std::unique_ptr<Expr> e;
   int error_count = 0;
   ASSERT_EQ(0, parse_string(expr_str, &e, &error_count));
   ASSERT_EQ(0, error_count);