From 04fee3104edf1cb695f4a377626754467dfcd6b0 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 20 Jan 2010 17:10:36 +0000 Subject: [PATCH] 2010-01-20 Joel Sherrill Coverity Id 7 Coverity Id 8 * libblock/src/bdpart.c: Verify libblock is really set after rtems_bdbuf_read() before using it. --- cpukit/ChangeLog | 7 +++++++ cpukit/libblock/src/bdpart.c | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 587dc4bfa7..2cbe894341 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,3 +1,10 @@ +2010-01-20 Joel Sherrill + + Coverity Id 7 + Coverity Id 8 + * libblock/src/bdpart.c: Verify libblock is really set after + rtems_bdbuf_read() before using it. + 2010-01-20 Joel Sherrill Coverity Id 5 diff --git a/cpukit/libblock/src/bdpart.c b/cpukit/libblock/src/bdpart.c index 7cecea85ad..d2e4ad30e1 100644 --- a/cpukit/libblock/src/bdpart.c +++ b/cpukit/libblock/src/bdpart.c @@ -271,6 +271,11 @@ static rtems_status_code rtems_bdpart_read_record( return sc; } + /* just in case block did not get filled in */ + if ( *block == NULL ) { + return RTEMS_INVALID_ADDRESS; + } + /* Check MBR signature */ if (!rtems_bdpart_is_valid_record( (*block)->buffer)) { return RTEMS_IO_ERROR; @@ -301,6 +306,11 @@ static rtems_status_code rtems_bdpart_new_record( return sc; } + /* just in case block did not get filled in */ + if ( *block == NULL ) { + return RTEMS_INVALID_ADDRESS; + } + /* Clear record */ memset( (*block)->buffer, 0, RTEMS_BDPART_BLOCK_SIZE);