compiler: Avoid unsafe memcmp for nointerface comments.

Fixes golang/go#11577.
    
    Reviewed-on: https://go-review.googlesource.com/14182

From-SVN: r227699
This commit is contained in:
Ian Lance Taylor 2015-09-11 21:41:30 +00:00
parent f2a4ca153c
commit 8500ff5777
2 changed files with 4 additions and 2 deletions

View file

@ -1,4 +1,4 @@
352617bfe0a880febf5d2a87e89ea439c742ba18
aea4360ca9c37f8e929f177ae7e42593ee62aa79
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.

View file

@ -1752,7 +1752,9 @@ Lex::skip_cpp_comment()
// For field tracking analysis: a //go:nointerface comment means
// that the next interface method should not be stored in the type
// descriptor. This permits it to be discarded if it is not needed.
if (this->lineoff_ == 2 && memcmp(p, "go:nointerface", 14) == 0)
if (this->lineoff_ == 2
&& pend - p > 14
&& memcmp(p, "go:nointerface", 14) == 0)
this->saw_nointerface_ = true;
while (p < pend)