SjoerdMeijer added inline comments.
================ Comment at: clang/lib/Basic/Targets/ARM.cpp:902 + std::vector<std::string> &Features = getTargetOpts().Features; + std::string SearchFeature = "+reserve-" + RegName.str(); + for (std::string &Feature : Features) { ---------------- chill wrote: > SjoerdMeijer wrote: > > I was pointed at something similar myself recently, but if I am not > > mistaken then I think this is a use-after-free: > > > > "+reserve-" + RegName.str() > > > > this will allocate a temp `std::string` that `SearchFeature` points to, > > which then gets released, and `SearchFeature` is still pointing at it. > Any temporaries would be destructed at the end of the full expression. By > that time, the `SearchString` would be constructed and stand on its own. Ah yes, true. This is a std::string, not stringref as in my case. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D68862/new/ https://reviews.llvm.org/D68862 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits