Changeset 78d87bd in rtems


Ignore:
Timestamp:
Aug 22, 1997, 7:16:47 PM (23 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
b1459dc
Parents:
8affd6f1
Message:

Fixed iop/memory leak bug reported by Dan Dickey.

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • c/src/exec/libcsupport/src/libio.c

    r8affd6f1 r78d87bd  
    325325    rtems_libio_t *iop;
    326326    rtems_libio_open_close_args_t args;
     327    int status;
    327328
    328329    if (rtems_file_descriptor_type(fd)) {
     
    334335            return -1;
    335336        }
    336         return (*fp)(fd);
     337        status = (*fp)(fd);
     338        rtems_libio_free(iop);
     339        return status;
    337340    }
    338341    iop = rtems_libio_iop(fd);
     
    346349   
    347350    rc = rtems_io_close(np->major, np->minor, (void *) &args);
     351
     352    rtems_libio_free(iop);
    348353
    349354    if (rc != RTEMS_SUCCESSFUL)
  • c/src/lib/libc/libio.c

    r8affd6f1 r78d87bd  
    325325    rtems_libio_t *iop;
    326326    rtems_libio_open_close_args_t args;
     327    int status;
    327328
    328329    if (rtems_file_descriptor_type(fd)) {
     
    334335            return -1;
    335336        }
    336         return (*fp)(fd);
     337        status = (*fp)(fd);
     338        rtems_libio_free(iop);
     339        return status;
    337340    }
    338341    iop = rtems_libio_iop(fd);
     
    346349   
    347350    rc = rtems_io_close(np->major, np->minor, (void *) &args);
     351
     352    rtems_libio_free(iop);
    348353
    349354    if (rc != RTEMS_SUCCESSFUL)
  • cpukit/libcsupport/src/libio.c

    r8affd6f1 r78d87bd  
    325325    rtems_libio_t *iop;
    326326    rtems_libio_open_close_args_t args;
     327    int status;
    327328
    328329    if (rtems_file_descriptor_type(fd)) {
     
    334335            return -1;
    335336        }
    336         return (*fp)(fd);
     337        status = (*fp)(fd);
     338        rtems_libio_free(iop);
     339        return status;
    337340    }
    338341    iop = rtems_libio_iop(fd);
     
    346349   
    347350    rc = rtems_io_close(np->major, np->minor, (void *) &args);
     351
     352    rtems_libio_free(iop);
    348353
    349354    if (rc != RTEMS_SUCCESSFUL)
Note: See TracChangeset for help on using the changeset viewer.