[llvm-commits] [llvm-gcc-4.2] r77036 - /llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp

Bill Wendling isanbard at gmail.com
Sun Jul 26 03:31:22 PDT 2009


On Jul 24, 2009, at 6:37 PM, Daniel Dunbar wrote:

> Author: ddunbar
> Date: Fri Jul 24 20:37:35 2009
> New Revision: 77036
>
> URL: http://llvm.org/viewvc/llvm-project?rev=77036&view=rev
> Log:
> Protect from LLVM API changes; this also fixes a potential use-after- 
> free!
>
What UAF?

-bw

> Modified:
>    llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp
>
> Modified: llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp?rev=77036&r1=77035&r2=77036&view=diff
>
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp (original)
> +++ llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp Fri Jul 24 20:37:35 2009
> @@ -1396,13 +1396,13 @@
>   // something that would be accurate and useful to a user, it  
> currently
>   // affects some optimizations that, e.g., count uses.
>   if (TheDebugInfo && !optimize) {
> -    const char *Name = GV->getName().c_str();
> +    std::string Name = GV->getNameStr();
>     const char LPrefix[] = "\01L_OBJC_";
>     const char lPrefix[] = "\01l_OBJC_";
>
>     if (flag_objc_abi == -1 || flag_objc_abi == 0 ||
> -        (strncmp(Name, LPrefix, sizeof(LPrefix) - 1) != 0 &&
> -         strncmp(Name, lPrefix, sizeof(lPrefix) - 1) != 0))
> +        (strncmp(Name.c_str(), LPrefix, sizeof(LPrefix) - 1) != 0 &&
> +         strncmp(Name.c_str(), lPrefix, sizeof(lPrefix) - 1) != 0))
>       TheDebugInfo->EmitGlobalVariable(GV, decl);
>   }
>
>
>
> _______________________________________________
> 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