RTEMS | open: Fix race condition when called with O_TRUNC (!178)

Sebastian Huber (@sebhub) gitlab at rtems.org
Fri Aug 9 02:49:49 UTC 2024




Sebastian Huber started a new discussion on cpukit/libcsupport/src/open.c: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/178#note_110766

 >    if ( rv == 0 ) {
 > -    rtems_libio_iop_flags_set( iop, LIBIO_FLAGS_OPEN );
 > -
 > +    /*
 > +     * Postpone the setting of LIBIO_FLAGS_OPEN after the truncation of the
 > +     * file, this ensures that the file descriptor cannot be used or closed
 > +     * during or just before the truncation by some other thread.
 > +    */
 >      if ( truncate ) {
 > -      rv = ftruncate( fd, 0 );
 > +      if ( write_access ) {
 > +        rv = (*iop->pathinfo.handlers->ftruncate_h)( iop, 0 );
 > +      } else {
 > +        rv = -1;
 > +        errno = EINVAL;
 > +      }

Blank line between if blocks.

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/178#note_110766
You're receiving this email because of your account on gitlab.rtems.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20240809/2fed89ed/attachment-0001.htm>


More information about the bugs mailing list