tp: fix use after move when populating stdlib
diff --git a/src/trace_processor/trace_processor_impl.cc b/src/trace_processor/trace_processor_impl.cc
index ebbc641..4634693 100644
--- a/src/trace_processor/trace_processor_impl.cc
+++ b/src/trace_processor/trace_processor_impl.cc
@@ -1030,19 +1030,22 @@
       }
     };
     std::string current_pkg;
-    sql_modules::RegisteredPackage rp;
+    std::optional<sql_modules::RegisteredPackage> rp;
     for (const auto& f : SqlBundle(stdlib::kStdlib)) {
       std::string include_key = sql_modules::GetIncludeKey(f.path);
       std::string pkg = sql_modules::GetPackageName(include_key);
       if (pkg != current_pkg) {
-        if (!current_pkg.empty())
-          flush(current_pkg, std::move(rp));
+        if (rp.has_value()) {
+          flush(current_pkg, *std::move(rp));
+        }
+        rp = sql_modules::RegisteredPackage();
         current_pkg = std::move(pkg);
       }
-      rp.modules.Insert(std::move(include_key), f.sql_view());
+      rp->modules.Insert(std::move(include_key), f.sql_view());
     }
-    if (!current_pkg.empty())
-      flush(current_pkg, std::move(rp));
+    if (rp.has_value()) {
+      flush(current_pkg, *std::move(rp));
+    }
   }
 
   // Re-register user-added packages.