diff options
-rw-r--r-- | cpukit/ChangeLog | 7 | ||||
-rw-r--r-- | cpukit/libblock/src/bdbuf.c | 1 | ||||
-rw-r--r-- | cpukit/libblock/src/diskdevs.c | 2 |
3 files changed, 9 insertions, 1 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 93ef4a44b3..883833c166 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,3 +1,10 @@ +2010-04-29 Sebastian Huber <sebastian.huber@embedded-brains.de> + + PR1507 + * libblock/src/bdbuf.c: Avoid NULL pointer access. + + * libblock/src/diskdevs.c: Fixed bounds check in rtems_disk_next(). + 2010-04-29 Ralf Corsépius <ralf.corsepius@rtems.org> * librpc/src/rpc/clnt_udp.c, librpc/src/xdr/xdr_mem.c: diff --git a/cpukit/libblock/src/bdbuf.c b/cpukit/libblock/src/bdbuf.c index e16c460250..3d3ecbee9e 100644 --- a/cpukit/libblock/src/bdbuf.c +++ b/cpukit/libblock/src/bdbuf.c @@ -2269,6 +2269,7 @@ rtems_bdbuf_swapout_write (rtems_bdbuf_swapout_transfer* transfer) { rtems_chain_node *node; static rtems_disk_device null_disk = { + .phys_dev = &null_disk, .capabilities = 0, .ioctl = rtems_bdbuf_null_disk_ioctl }; diff --git a/cpukit/libblock/src/diskdevs.c b/cpukit/libblock/src/diskdevs.c index 24e01a8f80..74cc3e3b24 100644 --- a/cpukit/libblock/src/diskdevs.c +++ b/cpukit/libblock/src/diskdevs.c @@ -475,7 +475,7 @@ rtems_disk_next(dev_t dev) dtab = disktab + major; while (true) { - if ((dtab == NULL) || (minor > dtab->size)) + if ((dtab == NULL) || (minor >= dtab->size)) { major++; minor = 0; if (major >= disktab_size) |