[llvm] r216005 - Fix a pair of use after free. Should bring the bots back.
David Blaikie
dblaikie at gmail.com
Tue Sep 2 14:15:45 PDT 2014
On Tue, Sep 2, 2014 at 2:02 PM, Duncan P. N. Exon Smith <
dexonsmith at apple.com> wrote:
> I wonder if we should add a deleted constructor:
>
> class StringRef {
> private:
> StringRef(std::string &&) LLVM_DELETED;
> };
>
unlikely:
std::string src();
void sink(StringRef);
int main() {
sink(src());
}
I imagine there's a reasonable amount of that going on in the codebase -
though I could be wrong.
>
> > 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
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140902/b40ce3d5/attachment.html>
More information about the llvm-commits
mailing list