mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-12-22 09:51:28 +01:00
net: fsl-mc: NULL check dflt_dpni before dereference
In dpni_exit there is a NULL check for dflt_dpni after it is dereferenced a number of times. Instead move the NULL check to early in the function. Also assign NULL to dflt_dpni after free in both dpni_init and dpni_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:
parent
9ca756cee7
commit
010a4c5c55
@ -1539,6 +1539,7 @@ err_get_version:
|
||||
dflt_dpni->dpni_id);
|
||||
err_create:
|
||||
free(dflt_dpni);
|
||||
dflt_dpni = NULL;
|
||||
err_calloc:
|
||||
return err;
|
||||
}
|
||||
@ -1547,6 +1548,9 @@ static int dpni_exit(void)
|
||||
{
|
||||
int err;
|
||||
|
||||
if (!dflt_dpni)
|
||||
return -ENODEV;
|
||||
|
||||
err = dpni_destroy(dflt_mc_io, dflt_dprc_handle, MC_CMD_NO_FLAGS,
|
||||
dflt_dpni->dpni_id);
|
||||
if (err < 0) {
|
||||
@ -1558,8 +1562,8 @@ static int dpni_exit(void)
|
||||
printf("Exit: DPNI.%d\n", dflt_dpni->dpni_id);
|
||||
#endif
|
||||
|
||||
if (dflt_dpni)
|
||||
free(dflt_dpni);
|
||||
free(dflt_dpni);
|
||||
dflt_dpni = NULL;
|
||||
return 0;
|
||||
|
||||
err:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user