diff options
author | Mathieu Poirier <mathieu.poirier@linaro.org> | 2019-02-12 10:34:36 -0700 |
---|---|---|
committer | Mathieu Poirier <mathieu.poirier@linaro.org> | 2019-04-03 04:17:30 -0600 |
commit | bad75c6d0731325564380c38be01aceac2c347e3 (patch) | |
tree | 34b15a5e53c008b66eb5401d01b5badb1c073db7 | |
parent | bfab6de86f6604dfe1f1287957905b61e6220747 (diff) |
perf tools: Refactor error path in cs_etm_decoder__new()
There is no point in having two different error goto statement since
the openCSD API to free a decoder handles NULL pointers. As such
function cs_etm_decoder__free() can be called to deal with all
aspect of freeing decoder memory.
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
-rw-r--r-- | tools/perf/util/cs-etm-decoder/cs-etm-decoder.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c index 39fe21e1cf93..5dafec421b0d 100644 --- a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c +++ b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c @@ -577,7 +577,7 @@ cs_etm_decoder__new(int num_cpu, struct cs_etm_decoder_params *d_params, /* init library print logging support */ ret = cs_etm_decoder__init_def_logger_printing(d_params, decoder); if (ret != 0) - goto err_free_decoder_tree; + goto err_free_decoder; /* init raw frame logging if required */ cs_etm_decoder__init_raw_frame_logging(d_params, decoder); @@ -587,15 +587,13 @@ cs_etm_decoder__new(int num_cpu, struct cs_etm_decoder_params *d_params, &t_params[i], decoder); if (ret != 0) - goto err_free_decoder_tree; + goto err_free_decoder; } return decoder; -err_free_decoder_tree: - ocsd_destroy_dcd_tree(decoder->dcd_tree); err_free_decoder: - free(decoder); + cs_etm_decoder__free(decoder); return NULL; } |