[llvm] r216005 - Fix a pair of use after free. Should bring the bots back.

Duncan P. N. Exon Smith dexonsmith at apple.com
Tue Sep 2 14:02:45 PDT 2014


I wonder if we should add a deleted constructor:

    class StringRef {
    private:
      StringRef(std::string &&) LLVM_DELETED;
    };

> On 2014 Aug 19, at 14:59, Rafael Espindola <rafael.espindola at gmail.com> wrote:
> 
> Author: rafael
> Date: Tue Aug 19 13:59:14 2014
> New Revision: 216005
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=216005&view=rev
> Log:
> Fix a pair of use after free. Should bring the bots back.
> 
> Modified:
>    llvm/trunk/lib/Object/MachOUniversal.cpp
> 
> Modified: llvm/trunk/lib/Object/MachOUniversal.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Object/MachOUniversal.cpp?rev=216005&r1=216004&r2=216005&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Object/MachOUniversal.cpp (original)
> +++ llvm/trunk/lib/Object/MachOUniversal.cpp Tue Aug 19 13:59:14 2014
> @@ -72,7 +72,7 @@ MachOUniversalBinary::ObjectForArch::get
>   if (Parent) {
>     StringRef ParentData = Parent->getData();
>     StringRef ObjectData = ParentData.substr(Header.offset, Header.size);
> -    StringRef ObjectName = Parent->getFileName().str();
> +    StringRef ObjectName = Parent->getFileName();
>     MemoryBufferRef ObjBuffer(ObjectData, ObjectName);
>     return ObjectFile::createMachOObjectFile(ObjBuffer);
>   }
> @@ -84,7 +84,7 @@ std::error_code MachOUniversalBinary::Ob
>   if (Parent) {
>     StringRef ParentData = Parent->getData();
>     StringRef ObjectData = ParentData.substr(Header.offset, Header.size);
> -    std::string ObjectName = Parent->getFileName().str();
> +    StringRef ObjectName = Parent->getFileName();
>     MemoryBufferRef ObjBuffer(ObjectData, ObjectName);
>     ErrorOr<std::unique_ptr<Archive>> Obj = Archive::create(ObjBuffer);
>     if (std::error_code EC = Obj.getError())
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list