X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=src%2Fplugins%2Fcommon%2Fparam-validation%2Fparam-validation.c;h=b52332bcaac106cb6a8f4f2b44947abd43f45cc5;hp=ca80e888add31aa156ae4bbcec2c3730bb46d3d7;hb=d3456fe6ea07341d745a589f56a51baa164743b2;hpb=96ec932377e764bdac4fd43784b3540177387c86 diff --git a/src/plugins/common/param-validation/param-validation.c b/src/plugins/common/param-validation/param-validation.c index ca80e888..b52332bc 100644 --- a/src/plugins/common/param-validation/param-validation.c +++ b/src/plugins/common/param-validation/param-validation.c @@ -400,10 +400,10 @@ enum bt_param_validation_status bt_param_validation_validate( struct bt_param_validation_map_value_descr map_value_descr; enum bt_param_validation_status status; - ctx.error = NULL; + memset(&ctx, '\0', sizeof(ctx)); + ctx.scope_stack = g_array_new(FALSE, FALSE, sizeof(struct validate_ctx_stack_element)); - g_ptr_array_new_with_free_func(g_free); if (!ctx.scope_stack) { status = BT_PARAM_VALIDATION_STATUS_MEMORY_ERROR; goto end; @@ -417,5 +417,9 @@ end: *error = ctx.error; ctx.error = NULL; + if (ctx.scope_stack) { + g_array_free(ctx.scope_stack, TRUE); + } + return status; }