Mercurial > flash_v2
changeset 1560:9a0206637430
* src/fd.cxx: Added CYG_ASSERT bound checking for file descriptor
numbers (0<fd<CYGNUM_FILEIO_NFD).
| author | asl |
|---|---|
| date | Mon, 29 Mar 2004 13:19:42 +0000 |
| parents | c72a9120513b |
| children | 31dd38f564ec |
| files | packages/io/fileio/current/ChangeLog packages/io/fileio/current/src/fd.cxx |
| diffstat | 2 files changed, 19 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/io/fileio/current/ChangeLog +++ b/packages/io/fileio/current/ChangeLog @@ -1,3 +1,8 @@ +2004-03-25 Sebastien Couret <sebastien.couret@elios-informatique.fr> + + * src/fd.cxx: Added CYG_ASSERT bound checking for file descriptor + numbers (0<fd<CYGNUM_FILEIO_NFD). + 2004-03-12 Jonathan Larmour <jifl@eCosCentric.com> * src/fio.h: If no POSIX then CYG_FILEIO_DELIVER_SIGNALS
--- a/packages/io/fileio/current/src/fd.cxx +++ b/packages/io/fileio/current/src/fd.cxx @@ -175,7 +175,11 @@ static int fp_ucount_dec( cyg_file *fp ) static int fd_close( int fd ) { int error = 0; - cyg_file *fp = desc[fd]; + cyg_file *fp; + + CYG_ASSERT(((0 < fd) && (fd<CYGNUM_FILEIO_NFD)), "fd out of range"); + + fp = desc[fd]; if( fp != FD_ALLOCATED && fp != NULL) { @@ -202,6 +206,8 @@ static int fd_close( int fd ) { int fd; + CYG_ASSERT(((0 < low) && (low<CYGNUM_FILEIO_NFD)),"fd out of range"); + FILEIO_MUTEX_LOCK(fdlock); for( fd = low; fd < CYGNUM_FILEIO_NFD; fd++ ) @@ -226,6 +232,9 @@ static int fd_close( int fd ) __externC void cyg_fd_assign(int fd, cyg_file *fp) { + + CYG_ASSERT(((0 < fd) && (fd<CYGNUM_FILEIO_NFD)),"fd out of range"); + FILEIO_MUTEX_LOCK(fdlock); fd_close( fd ); @@ -243,6 +252,8 @@ static int fd_close( int fd ) __externC int cyg_fd_free(int fd) { int error; + + CYG_ASSERT(((0 < fd) && (fd<CYGNUM_FILEIO_NFD)),"fd out of range"); FILEIO_MUTEX_LOCK(fdlock); @@ -266,6 +277,8 @@ static int fd_close( int fd ) __externC cyg_file *cyg_fp_get( int fd ) { + CYG_ASSERT(((0 < fd) && (fd<CYGNUM_FILEIO_NFD)),"fd out of range"); + FILEIO_MUTEX_LOCK(fdlock); cyg_file *fp = desc[fd];
