From: Simon Marchi Date: Fri, 30 Aug 2024 18:17:13 +0000 (-0400) Subject: src.ctf.fs: fix error path of ctf_fs_init X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=0934fa003959af15e446f92c46cec04256a3b6dc;p=babeltrace.git src.ctf.fs: fix error path of ctf_fs_init If ctf_fs_create fails (returns nullptr), we don't want to call bt_self_component_set_data. Return early if that happens. Change-Id: Ib5766c6795a841ee1c2abc30e1751f9f1930f985 Reviewed-on: https://review.lttng.org/c/babeltrace/+/13200 Reviewed-by: Philippe Proulx --- diff --git a/src/plugins/ctf/fs-src/fs.cpp b/src/plugins/ctf/fs-src/fs.cpp index e0b6468d..630a3513 100644 --- a/src/plugins/ctf/fs-src/fs.cpp +++ b/src/plugins/ctf/fs-src/fs.cpp @@ -1510,17 +1510,14 @@ bt_component_class_initialize_method_status ctf_fs_init(bt_self_component_source const bt_value *params, void *) { try { - bt_component_class_initialize_method_status ret = - BT_COMPONENT_CLASS_INITIALIZE_METHOD_STATUS_OK; - ctf_fs_component::UP ctf_fs = ctf_fs_create(bt2::ConstMapValue {params}, self_comp_src); if (!ctf_fs) { - ret = BT_COMPONENT_CLASS_INITIALIZE_METHOD_STATUS_ERROR; + return BT_COMPONENT_CLASS_INITIALIZE_METHOD_STATUS_ERROR; } bt_self_component_set_data(bt_self_component_source_as_self_component(self_comp_src), ctf_fs.release()); - return ret; + return BT_COMPONENT_CLASS_INITIALIZE_METHOD_STATUS_OK; } catch (const std::bad_alloc&) { return BT_COMPONENT_CLASS_INITIALIZE_METHOD_STATUS_MEMORY_ERROR; } catch (const bt2::Error&) {