Message ID | 1471812743-5095-1-git-send-email-xypron.glpk@gmx.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 08/21/2016 11:06 PM, Joe Perches wrote: > On Sun, 2016-08-21 at 22:52 +0200, Heinrich Schuchardt wrote: >> It does not make sense to check if table is NULL >> and afterwards to dereference it without >> considering the result. > > This makes no sense. > >> The inconsistency was indicated by cppcheck. > > Perhaps this is a defect in cppcheck? > >> An actual NULL pointer dereference was not observed. > [] >> diff --git a/drivers/gpu/drm/radeon/si_dpm.c b/drivers/gpu/drm/radeon/si_dpm.c > [] >> @@ -2962,7 +2962,7 @@ static int si_get_vce_clock_voltage(struct radeon_device *rdev, >> &rdev->pm.dpm.dyn_state.vce_clock_voltage_dependency_table; >> >> if (((evclk == 0) && (ecclk == 0)) || >> - (table && (table->count == 0))) { > > Here table is only dereferenced if table is non-null > >> + table == NULL || table->count == 0) { >> *voltage = 0; >> return 0; >> } > > Perhaps the unnecessary parentheses can be reduce though. > > if ((evclk == 0 && ecclk == 0) || (table && table->count == 0)) { > The possible NULL pointer dereference would occur here: 2970 for (i = 0; i < table->count; i++) {
diff --git a/drivers/gpu/drm/radeon/si_dpm.c b/drivers/gpu/drm/radeon/si_dpm.c index e6abc09..ba2cf12 100644 --- a/drivers/gpu/drm/radeon/si_dpm.c +++ b/drivers/gpu/drm/radeon/si_dpm.c @@ -2962,7 +2962,7 @@ static int si_get_vce_clock_voltage(struct radeon_device *rdev, &rdev->pm.dpm.dyn_state.vce_clock_voltage_dependency_table; if (((evclk == 0) && (ecclk == 0)) || - (table && (table->count == 0))) { + table == NULL || table->count == 0) { *voltage = 0; return 0; }
It does not make sense to check if table is NULL and afterwards to dereference it without considering the result. The inconsistency was indicated by cppcheck. An actual NULL pointer dereference was not observed. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> --- drivers/gpu/drm/radeon/si_dpm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)