[Mlir-commits] [mlir] [MLIR] Fix use-after-free in Remark by owning string data (PR #179889)

Matthias Springer llvmlistbot at llvm.org
Thu Feb 5 03:28:12 PST 2026


================
@@ -89,9 +89,10 @@ class Remark {
 public:
   Remark(RemarkKind remarkKind, DiagnosticSeverity severity, Location loc,
          RemarkOpts opts)
-      : remarkKind(remarkKind), functionName(opts.functionName), loc(loc),
-        categoryName(opts.categoryName), subCategoryName(opts.subCategoryName),
-        remarkName(opts.remarkName) {
+      : remarkKind(remarkKind), functionName(opts.functionName.str()), loc(loc),
+        categoryName(opts.categoryName.str()),
+        subCategoryName(opts.subCategoryName.str()),
+        remarkName(opts.remarkName.str()) {
     if (!categoryName.empty() && !subCategoryName.empty()) {
       (llvm::Twine(categoryName) + ":" + subCategoryName)
           .toStringRef(fullCategoryName);
----------------
matthias-springer wrote:

Unrelated, but this looks a bit fishy. Use `Twine::toVector` instead of `Twine::toStringRef`.

https://github.com/llvm/llvm-project/pull/179889


More information about the Mlir-commits mailing list