Fix alpha __fxstatat for empty file names.
authorMatt Turner <mattst88@gmail.com>
Tue, 10 Nov 2009 21:12:55 +0000 (21:12 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Tue, 10 Nov 2009 21:12:55 +0000 (21:12 +0000)
[BZ #10609]
* sysdeps/unix/sysv/linux/alpha/fxstatat.c (__fxstatat): Fix handling
of empty parameters for file names.

ChangeLog.alpha
sysdeps/unix/sysv/linux/alpha/fxstatat.c

index eb23873..5a9b442 100644 (file)
@@ -1,3 +1,9 @@
+2009-11-10  Matt Turner  <mattst88@gmail.com>
+
+       [BZ #10609]
+       * sysdeps/unix/sysv/linux/alpha/fxstatat.c (__fxstatat): Fix handling
+       of empty parameters for file names.
+
 2009-07-13  Aurelien Jarno  <aurelien@aurel32.net>
 
        [BZ #10158]
index 4976946..66cf4f7 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -46,6 +46,12 @@ __fxstatat (int vers, int fd, const char *file, struct stat *st, int flag)
   if (fd != AT_FDCWD && file[0] != '/')
     {
       size_t filelen = strlen (file);
+      if (__builtin_expect (filelen == 0, 0))
+        {
+          __set_errno (ENOENT);
+          return -1;
+        }
+
       static const char procfd[] = "/proc/self/fd/%d/%s";
       /* Buffer for the path name we are going to use.  It consists of
         - the string /proc/self/fd/