diff --git a/src/main.c b/src/main.c index 10ed0e5..8a5cb07 100644 --- a/src/main.c +++ b/src/main.c @@ -394,7 +394,7 @@ int main(int argc, char **argv) struct command_line_options cmd_opts; elfpatch_handle_t *ep; int ret = 0; - uint32_t *crcs; + uint32_t *crcs = NULL; xml_init(); @@ -484,10 +484,12 @@ int main(int argc, char **argv) ret_close_elf: elf_patch_close_and_free(ep); - /* Free the CRCs. This is not strictly necessary... */ - free(crcs); free_cmds: free_cmd_args(&cmd_opts); + /* Free CRCs if necessary */ + if (crcs) + free(crcs); + return ret; }