diff --git a/ChangeLog b/ChangeLog index 286c1270a7..53225a3e22 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2006-01-18 Ulrich Drepper + * sysdeps/unix/sysv/linux/fxstatat.c [STAT_IS_KERNEL_STAT] + (__fxstatat): Correct handling of invalid vers values. + [BZ #2173] * libio/fileops.c (_IO_new_file_fopen): If ,ccs= is given, also set vtable to the wide vtable. diff --git a/sysdeps/unix/sysv/linux/fxstatat.c b/sysdeps/unix/sysv/linux/fxstatat.c index 9bc3dbc459..c73037b805 100644 --- a/sysdeps/unix/sysv/linux/fxstatat.c +++ b/sysdeps/unix/sysv/linux/fxstatat.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005 Free Software Foundation, Inc. +/* Copyright (C) 2005, 2006 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 @@ -78,10 +78,12 @@ __fxstatat (int vers, int fd, const char *file, struct stat *st, int flag) if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) return result; } - #ifdef STAT_IS_KERNEL_STAT - __set_errno (EINVAL); - return -1; + else + { + __set_errno (EINVAL); + return -1; + } #else struct kernel_stat kst;