* builds/unix/ftsystem.c (FT_New_Stream): added a fix to ensure that
all FreeType input streams are closed in child processes of a "fork" on Unix systems. This is important to avoid (potential) access control issues..
This commit is contained in:
parent
662b344c23
commit
c48bf37bda
|
@ -1,3 +1,11 @@
|
|||
2002-01-03 Keith Packard <keithp@keithp.com>
|
||||
|
||||
* builds/unix/ftsystem.c (FT_New_Stream): added a fix to ensure that
|
||||
all FreeType input streams are closed in child processes of a "fork"
|
||||
on Unix systems. This is important to avoid (potential) access
|
||||
control issues..
|
||||
|
||||
|
||||
2002-01-03 David Turner <david@freetype.org>
|
||||
|
||||
* src/type1/t1objs.c (T1_Face_Init): fixed a bug that crashed the
|
||||
|
|
|
@ -223,6 +223,19 @@
|
|||
return FT_Err_Cannot_Open_Resource;
|
||||
}
|
||||
|
||||
/* here, we ensure that a "fork" will _not_ duplicate */
|
||||
/* our opened input streams on Unix. This is critical */
|
||||
/* since it would avoid some (possible) access control */
|
||||
/* issues and clean up the kernel file table a bit. */
|
||||
/* */
|
||||
#ifdef F_SETFD
|
||||
# ifdef FD_CLOEXEC
|
||||
ret = fcntl ( file, F_SETFD, FD_CLOEXEC);
|
||||
# else
|
||||
ret = fcntl ( file, F_SETFD, 1);
|
||||
# endif /* FD_CLOEXEC */
|
||||
#endif /* F_SETFD */
|
||||
|
||||
if ( fstat( file, &stat_buf ) < 0 )
|
||||
{
|
||||
FT_ERROR(( "FT_New_Stream:" ));
|
||||
|
|
Loading…
Reference in New Issue