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=8839434ec07524e32c8940d31e3083cf29d3074a;hpb=502332367236f0cc3bf05dc3c2c34ca48f3e2a2f 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; }