* gcov.c (canonicalize_name): Protect use of S_ISLNK.

From-SVN: r181367
This commit is contained in:
Nathan Sidwell 2011-11-14 21:44:01 +00:00 committed by Nathan Sidwell
parent 2f5623b20c
commit 8c121ccb53
2 changed files with 12 additions and 3 deletions

View File

@ -1,3 +1,7 @@
2011-11-14 Nathan Sidwell <nathan@acm.org>
* gcov.c (canonicalize_name): Protect use of S_ISLNK.
2011-11-14 Jan Hubicka <jh@suse.cz>
* config/i386/i386.c (core cost model): Correct pasto.

View File

@ -1688,10 +1688,15 @@ canonicalize_name (const char *name)
{
/* '..', we can only elide it and the previous directory, if
we're not a symlink. */
struct stat buf;
struct stat ATTRIBUTE_UNUSED buf;
*ptr = 0;
if (dd_base == ptr || stat (result, &buf) || S_ISLNK (buf.st_mode))
if (dd_base == ptr
#if defined (S_ISLNK)
/* S_ISLNK is not POSIX.1-1996. */
|| stat (result, &buf) || S_ISLNK (buf.st_mode)
#endif
)
{
/* Cannot elide, or unreadable or a symlink. */
dd_base = ptr + 2 + slash;