[clang-tools-extra] r321286 - [clangd] Fix use after free.

Sam McCall via cfe-commits cfe-commits at lists.llvm.org
Fri Dec 22 00:36:20 PST 2017


Thanks Ben!

This was my r321272 - in hindsight I really should have run the tests with
asan for that type of change.

On Thu, Dec 21, 2017 at 6:51 PM, Benjamin Kramer via cfe-commits <
cfe-commits at lists.llvm.org> wrote:

> Author: d0k
> Date: Thu Dec 21 09:51:35 2017
> New Revision: 321286
>
> URL: http://llvm.org/viewvc/llvm-project?rev=321286&view=rev
> Log:
> [clangd] Fix use after free.
>
> Found by asan.
>
> Modified:
>     clang-tools-extra/trunk/clangd/index/SymbolCollector.cpp
>
> Modified: clang-tools-extra/trunk/clangd/index/SymbolCollector.cpp
> URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/
> trunk/clangd/index/SymbolCollector.cpp?rev=321286&r1=321285&r2=321286&
> view=diff
> ============================================================
> ==================
> --- clang-tools-extra/trunk/clangd/index/SymbolCollector.cpp (original)
> +++ clang-tools-extra/trunk/clangd/index/SymbolCollector.cpp Thu Dec 21
> 09:51:35 2017
> @@ -95,9 +95,10 @@ bool SymbolCollector::handleDeclOccurenc
>        return true;
>
>      auto &SM = ND->getASTContext().getSourceManager();
> -    SymbolLocation Location = {
> -        makeAbsolutePath(SM, SM.getFilename(D->getLocation())),
> -        SM.getFileOffset(D->getLocStart()),
> SM.getFileOffset(D->getLocEnd())};
> +    std::string FilePath =
> +        makeAbsolutePath(SM, SM.getFilename(D->getLocation()));
> +    SymbolLocation Location = {FilePath, SM.getFileOffset(D->
> getLocStart()),
> +                               SM.getFileOffset(D->getLocEnd())};
>      std::string QName = ND->getQualifiedNameAsString();
>      auto ScopeAndName = splitQualifiedName(QName);
>      Symbols.insert({std::move(ID), ScopeAndName.second,
> ScopeAndName.first,
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20171222/b8cca448/attachment.html>


More information about the cfe-commits mailing list