mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
net: fsl-mc: NULL check dflt_dpbp before dereference
In dpbp_exit there is a NULL check for dflt_dpbp after it is dereferenced a number of times. Instead move the NULL check to early in the function. Also assign NULL to dflt_dpbp after free in both dpbp_init and dpbp_exit. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org> Signed-off-by: Peng Fan <peng.fan@nxp.com>
This commit is contained in:
committed by
Peng Fan
parent
756580d090
commit
9ca756cee7
@@ -1438,6 +1438,7 @@ err_close:
|
||||
err_open:
|
||||
err_create:
|
||||
free(dflt_dpbp);
|
||||
dflt_dpbp = NULL;
|
||||
err_calloc:
|
||||
return err;
|
||||
}
|
||||
@@ -1446,6 +1447,9 @@ static int dpbp_exit(void)
|
||||
{
|
||||
int err;
|
||||
|
||||
if (!dflt_dpbp)
|
||||
return -ENODEV;
|
||||
|
||||
err = dpbp_destroy(dflt_mc_io, dflt_dprc_handle, MC_CMD_NO_FLAGS,
|
||||
dflt_dpbp->dpbp_id);
|
||||
if (err < 0) {
|
||||
@@ -1457,8 +1461,8 @@ static int dpbp_exit(void)
|
||||
printf("Exit: DPBP.%d\n", dflt_dpbp->dpbp_attr.id);
|
||||
#endif
|
||||
|
||||
if (dflt_dpbp)
|
||||
free(dflt_dpbp);
|
||||
free(dflt_dpbp);
|
||||
dflt_dpbp = NULL;
|
||||
return 0;
|
||||
|
||||
err:
|
||||
|
||||
Reference in New Issue
Block a user