[cfe-commits] r165157 - /cfe/trunk/lib/Driver/OptTable.cpp
Jordan Rose
jordan_rose at apple.com
Wed Oct 3 14:19:06 PDT 2012
Why not just use StringRef::startswith? That also does the length check first, which is more efficient than looking for the end of both strings at every character.
On Oct 3, 2012, at 13:58 , Benjamin Kramer <benny.kra at googlemail.com> wrote:
> Author: d0k
> Date: Wed Oct 3 15:58:09 2012
> New Revision: 165157
>
> URL: http://llvm.org/viewvc/llvm-project?rev=165157&view=rev
> Log:
> Fix invalid reads by memcmp.
>
> Str may be smaller than Start->Name here. Use strncmp to avoid scanning past the
> end. Found by valgrind.
>
> Modified:
> cfe/trunk/lib/Driver/OptTable.cpp
>
> Modified: cfe/trunk/lib/Driver/OptTable.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/OptTable.cpp?rev=165157&r1=165156&r2=165157&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Driver/OptTable.cpp (original)
> +++ cfe/trunk/lib/Driver/OptTable.cpp Wed Oct 3 15:58:09 2012
> @@ -162,7 +162,7 @@
> for (; Start != End; ++Start) {
> // Scan for first option which is a proper prefix.
> for (; Start != End; ++Start)
> - if (memcmp(Str, Start->Name, strlen(Start->Name)) == 0)
> + if (strncmp(Str, Start->Name, strlen(Start->Name)) == 0)
> break;
> if (Start == End)
> break;
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list