diff --git a/libisofs/ecma119.c b/libisofs/ecma119.c index 73f5229..3d18479 100644 --- a/libisofs/ecma119.c +++ b/libisofs/ecma119.c @@ -2417,8 +2417,10 @@ int iso_image_create_burn_source(IsoImage *image, IsoWriteOpts *opts, if (!opts->allow_deep_paths) { ret = make_reloc_dir_if_needed(image, opts, 0); - if (ret < 0) + if (ret < 0) { + free(source); return ret; + } } #endif /* Libisofs_with_rr_reloc_diR */ diff --git a/libisofs/find.c b/libisofs/find.c index 15a3714..4eec564 100644 --- a/libisofs/find.c +++ b/libisofs/find.c @@ -141,11 +141,12 @@ void update_next(IsoDirIter *iter) static int find_iter_next(IsoDirIter *iter, IsoNode **node) { - struct find_iter_data *data = iter->data; + struct find_iter_data *data; if (iter == NULL || node == NULL) { return ISO_NULL_POINTER; } + data = iter->data; if (data->err < 0) { return data->err;