mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-09 23:00:07 +00:00
* libio/libioP.h (_IO_acquire_lock_clear_flags2_fct): New function.
* debug/vfwprintf_chk.c (__vfwprintf_chk): Use _IO_acquire_lock_clear_flags2 instead of _IO_acquire_lock. * debug/vprintf_chk.c (__vprintf_chk): Likewise. * debug/vwprintf_chk.c (__vwprintf_chk): Likewise. * debug/vfprintf_chk.c (__vfprintf_chk): Likewise. * debug/fwprintf_chk.c (__fwprintf_chk): Likewise. * debug/printf_chk.c (__printf_chk): Likewise. * debug/fprintf_chk.c (__fprintf_chk): Likewise. * debug/wprintf_chk.c (__wprintf_chk): Likewise. * sysdeps/pthread/bits/stdio-lock.h (_IO_acquire_lock_clear_flags2): Define.
This commit is contained in:
parent
d5078b9f65
commit
b257c726a4
16
ChangeLog
16
ChangeLog
@ -1,5 +1,19 @@
|
||||
2007-07-17 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* libio/libioP.h (_IO_acquire_lock_clear_flags2_fct): New function.
|
||||
* debug/vfwprintf_chk.c (__vfwprintf_chk): Use
|
||||
_IO_acquire_lock_clear_flags2 instead of _IO_acquire_lock.
|
||||
* debug/vprintf_chk.c (__vprintf_chk): Likewise.
|
||||
* debug/vwprintf_chk.c (__vwprintf_chk): Likewise.
|
||||
* debug/vfprintf_chk.c (__vfprintf_chk): Likewise.
|
||||
* debug/fwprintf_chk.c (__fwprintf_chk): Likewise.
|
||||
* debug/printf_chk.c (__printf_chk): Likewise.
|
||||
* debug/fprintf_chk.c (__fprintf_chk): Likewise.
|
||||
* debug/wprintf_chk.c (__wprintf_chk): Likewise.
|
||||
|
||||
* sysdeps/pthread/bits/stdio-lock.h (_IO_acquire_lock_clear_flags2):
|
||||
Define.
|
||||
|
||||
* bits/confname.h (_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS): Define.
|
||||
* posix/getconf.c (vars): Add POSIX_V6_WIDTH_RESTRICTED_ENVS.
|
||||
|
||||
@ -9,8 +23,6 @@
|
||||
* stdlib/stdlib.h (realloc): Remove __attribute_malloc__.
|
||||
* malloc/malloc.h (realloc): Likewise.
|
||||
|
||||
2007-07-16 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* libio/iopopen.c (_IO_new_proc_open): Don't close child_std_end
|
||||
if one of proc_file_chain streams has that fileno.
|
||||
* stdio-common/Makefile (tests): Add tst-popen2.
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991, 1995, 1996, 1997, 2001, 2004, 2006
|
||||
/* Copyright (C) 1991, 1995, 1996, 1997, 2001, 2004, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
@ -29,7 +29,7 @@ ___fprintf_chk (FILE *fp, int flag, const char *format, ...)
|
||||
va_list ap;
|
||||
int done;
|
||||
|
||||
_IO_acquire_lock (fp);
|
||||
_IO_acquire_lock_clear_flags2 (fp);
|
||||
if (flag > 0)
|
||||
fp->_flags2 |= _IO_FLAGS2_FORTIFY;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991, 1995, 1996, 1997, 2001, 2004, 2005
|
||||
/* Copyright (C) 1991, 1995, 1996, 1997, 2001, 2004, 2005, 2007
|
||||
Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
@ -29,7 +29,7 @@ __fwprintf_chk (FILE *fp, int flag, const wchar_t *format, ...)
|
||||
va_list ap;
|
||||
int done;
|
||||
|
||||
_IO_acquire_lock (fp);
|
||||
_IO_acquire_lock_clear_flags2 (fp);
|
||||
if (flag > 0)
|
||||
fp->_flags2 |= _IO_FLAGS2_FORTIFY;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991, 1995, 1996, 1997, 2001, 2004, 2006
|
||||
/* Copyright (C) 1991, 1995, 1996, 1997, 2001, 2004, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
@ -29,7 +29,7 @@ ___printf_chk (int flag, const char *format, ...)
|
||||
va_list ap;
|
||||
int done;
|
||||
|
||||
_IO_acquire_lock (stdout);
|
||||
_IO_acquire_lock_clear_flags2 (stdout);
|
||||
if (flag > 0)
|
||||
stdout->_flags2 |= _IO_FLAGS2_FORTIFY;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991, 1995, 1996, 1997, 2001, 2004, 2005, 2006
|
||||
/* Copyright (C) 1991, 1995, 1996, 1997, 2001, 2004, 2005, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
@ -28,7 +28,7 @@ ___vfprintf_chk (FILE *fp, int flag, const char *format, va_list ap)
|
||||
{
|
||||
int done;
|
||||
|
||||
_IO_acquire_lock (fp);
|
||||
_IO_acquire_lock_clear_flags2 (fp);
|
||||
if (flag > 0)
|
||||
fp->_flags2 |= _IO_FLAGS2_FORTIFY;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991, 1995, 1996, 1997, 2001, 2004, 2005, 2006
|
||||
/* Copyright (C) 1991, 1995, 1996, 1997, 2001, 2004, 2005, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
@ -28,7 +28,7 @@ __vfwprintf_chk (FILE *fp, int flag, const wchar_t *format, va_list ap)
|
||||
{
|
||||
int done;
|
||||
|
||||
_IO_acquire_lock (fp);
|
||||
_IO_acquire_lock_clear_flags2 (fp);
|
||||
if (flag > 0)
|
||||
fp->_flags2 |= _IO_FLAGS2_FORTIFY;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991, 1995, 1996, 1997, 2001, 2004, 2006
|
||||
/* Copyright (C) 1991, 1995, 1996, 1997, 2001, 2004, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
@ -28,7 +28,7 @@ ___vprintf_chk (int flag, const char *format, va_list ap)
|
||||
{
|
||||
int done;
|
||||
|
||||
_IO_acquire_lock (stdout);
|
||||
_IO_acquire_lock_clear_flags2 (stdout);
|
||||
if (flag > 0)
|
||||
stdout->_flags2 |= _IO_FLAGS2_FORTIFY;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991, 1995, 1996, 1997, 2001, 2004, 2005
|
||||
/* Copyright (C) 1991, 1995, 1996, 1997, 2001, 2004, 2005, 2007
|
||||
Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
@ -29,7 +29,7 @@ __vwprintf_chk (int flag, const wchar_t *format, va_list ap)
|
||||
{
|
||||
int done;
|
||||
|
||||
_IO_acquire_lock (stdout);
|
||||
_IO_acquire_lock_clear_flags2 (stdout);
|
||||
if (flag > 0)
|
||||
stdout->_flags2 |= _IO_FLAGS2_FORTIFY;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991, 1995, 1996, 1997, 2001, 2004, 2005
|
||||
/* Copyright (C) 1991, 1995, 1996, 1997, 2001, 2004, 2005, 2007
|
||||
Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
@ -30,7 +30,7 @@ __wprintf_chk (int flag, const wchar_t *format, ...)
|
||||
va_list ap;
|
||||
int done;
|
||||
|
||||
_IO_acquire_lock (stdout);
|
||||
_IO_acquire_lock_clear_flags2 (stdout);
|
||||
if (flag > 0)
|
||||
stdout->_flags2 |= _IO_FLAGS2_FORTIFY;
|
||||
|
||||
|
@ -968,3 +968,13 @@ _IO_acquire_lock_fct (_IO_FILE **p)
|
||||
if ((fp->_flags & _IO_USER_LOCK) == 0)
|
||||
_IO_funlockfile (fp);
|
||||
}
|
||||
|
||||
static inline void
|
||||
__attribute__ ((__always_inline__))
|
||||
_IO_acquire_lock_clear_flags2_fct (_IO_FILE **p)
|
||||
{
|
||||
_IO_FILE *fp = *p;
|
||||
fp->_flags &= ~_IO_FLAGS2_FORTIFY;
|
||||
if ((fp->_flags & _IO_USER_LOCK) == 0)
|
||||
_IO_funlockfile (fp);
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Thread package specific definitions of stream lock type. NPTL version.
|
||||
Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 2000, 2001, 2002, 2003, 2007 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
|
||||
@ -94,9 +94,15 @@ typedef struct { int lock; int cnt; void *owner; } _IO_lock_t;
|
||||
__attribute__((cleanup (_IO_acquire_lock_fct))) \
|
||||
= (_fp); \
|
||||
_IO_flockfile (_IO_acquire_lock_file);
|
||||
|
||||
# define _IO_acquire_lock_clear_flags2(_fp) \
|
||||
do { \
|
||||
_IO_FILE *_IO_acquire_lock_file \
|
||||
__attribute__((cleanup (_IO_acquire_lock_clear_flags2_fct))) \
|
||||
= (_fp); \
|
||||
_IO_flockfile (_IO_acquire_lock_file);
|
||||
# else
|
||||
# define _IO_acquire_lock(_fp) _IO_acquire_lock_needs_exceptions_enabled
|
||||
# define _IO_acquire_lock_clear_flags2(_fp) _IO_acquire_lock (_fp)
|
||||
# endif
|
||||
# define _IO_release_lock(_fp) ; } while (0)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user