bsps/shared/ofw: Fix coverity reported defects

Fixed use after free and null pointer dereference defects

FIXES:
1) CID 1472601 (NULL_RETURNS)
2) CID 1472600 (USE_AFTER_FREE)
3) CID 1472599 (USE_AFTER_FREE)
4) CID 1472598 (USE_AFTER_FREE)
5) CID 1472596 (USE_AFTER_FREE)

The below two defects have to marked false positive
1) CID 1472597 (ARRAY_VS_SINGLETON)
2) CID 1472595 (ARRAY_VS_SINGLETON)
This commit is contained in:
G S Niteesh Babu
2021-02-06 23:10:09 +05:30
committed by Christian Mauderer
parent fafc923044
commit c4985b7718

View File

@@ -313,7 +313,7 @@ ssize_t rtems_ofw_get_prop_alloc(
}
if (rtems_ofw_get_prop(node, propname, *buf, len) == -1) {
rtems_ofw_free(buf);
rtems_ofw_free(*buf);
*buf = NULL;
return -1;
}
@@ -344,7 +344,7 @@ ssize_t rtems_ofw_get_prop_alloc_multi(
}
if (rtems_ofw_get_prop(node, propname, *buf, len) == -1) {
rtems_ofw_free(buf);
rtems_ofw_free(*buf);
*buf = NULL;
return -1;
}
@@ -373,7 +373,7 @@ ssize_t rtems_ofw_get_enc_prop_alloc(
}
if (rtems_ofw_get_enc_prop(node, propname, *buf, len) == -1) {
rtems_ofw_free(buf);
rtems_ofw_free(*buf);
*buf = NULL;
return -1;
}
@@ -404,7 +404,7 @@ ssize_t rtems_ofw_get_enc_prop_alloc_multi(
}
if (rtems_ofw_get_enc_prop(node, propname, *buf, len) == -1) {
rtems_ofw_free(buf);
rtems_ofw_free(*buf);
*buf = NULL;
return -1;
}
@@ -614,7 +614,7 @@ int rtems_ofw_get_reg(
offset = rtems_fdt_phandle_to_offset(parent);
ptr = fdt_getprop(fdtp, offset, "ranges", &len);
if (len < 0) {
if (ptr == NULL) {
break;
}