X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=lib%2Fplugin-system%2Fcomponent.c;h=ec9390793b3407a1bc818905c7bda7f71dce5436;hb=528debdf7f5593bfb1abddac48554fc635d26a6d;hp=340e8066475e5c540a18908e631ce0efca67b1d8;hpb=11b274447f8a8424b837088eeee53dea1c9e5fba;p=babeltrace.git diff --git a/lib/plugin-system/component.c b/lib/plugin-system/component.c index 340e8066..ec939079 100644 --- a/lib/plugin-system/component.c +++ b/lib/plugin-system/component.c @@ -204,8 +204,12 @@ struct bt_component *bt_component_create( } component->initializing = true; - component_class->init(component, params); + ret = component_class->init(component, params); component->initializing = false; + if (ret != BT_COMPONENT_STATUS_OK) { + BT_PUT(component); + goto end; + } ret = component_validation_funcs[type](component); if (ret != BT_COMPONENT_STATUS_OK) { BT_PUT(component);