diff options
Diffstat (limited to 'cpukit/libmisc/rtems-fdt/rtems-fdt.c')
-rw-r--r-- | cpukit/libmisc/rtems-fdt/rtems-fdt.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/cpukit/libmisc/rtems-fdt/rtems-fdt.c b/cpukit/libmisc/rtems-fdt/rtems-fdt.c index 39e70bffec..0c8ccfd2c2 100644 --- a/cpukit/libmisc/rtems-fdt/rtems-fdt.c +++ b/cpukit/libmisc/rtems-fdt/rtems-fdt.c @@ -163,7 +163,7 @@ rtems_fdt_init_index (rtems_fdt_handle* fdt, rtems_fdt_blob* blob) } names = calloc(1, total_name_memory); - if (!entries) + if (!names) { free(entries); return -RTEMS_FDT_ERR_NO_MEMORY; @@ -582,7 +582,7 @@ rtems_fdt_load (const char* filename, rtems_fdt_handle* handle) close (bf); return -RTEMS_FDT_ERR_READ_FAIL; } - r -= size; + size -= r; buf += r; } } @@ -680,14 +680,14 @@ rtems_fdt_unload (rtems_fdt_handle* handle) rtems_chain_extract_unprotected (&handle->blob->node); + rtems_fdt_release_index(&handle->blob->index); + free (handle->blob); handle->blob = NULL; rtems_fdt_unlock (fdt); - rtems_fdt_release_index(&handle->blob->index); - return 0; } |