X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lnet%2Futils%2Fcyaml%2Fcyaml.c;h=cb2bf834f66fdea742dae236253d5d56f7e9ccde;hp=503c8950e1366e9af8e83853ce8fc961911b4cc2;hb=943469dc33ab665d3908847a21dfee6a3b574505;hpb=74dfa6c3f6111750c773e2484b65302026af6a53 diff --git a/lnet/utils/cyaml/cyaml.c b/lnet/utils/cyaml/cyaml.c index 503c895..cb2bf83 100644 --- a/lnet/utils/cyaml/cyaml.c +++ b/lnet/utils/cyaml/cyaml.c @@ -448,7 +448,8 @@ static enum cYAML_handler_error yaml_stream_start(yaml_token_t *token, static enum cYAML_handler_error yaml_stream_end(yaml_token_t *token, struct cYAML_tree_node *tree) { - if (tree->state != TREE_STATE_TREE_STARTED) + if (tree->state != TREE_STATE_TREE_STARTED && + tree->state != TREE_STATE_COMPLETE) return CYAML_ERROR_UNEXPECTED_STATE; tree->state = TREE_STATE_INITED; @@ -885,6 +886,9 @@ static void print_value(FILE *f, struct list_head *stack) struct cYAML_print_info *cpi = NULL; struct cYAML *node = cYAML_ll_pop(stack, &cpi); + if (node == NULL) + return; + switch (node->cy_type) { case CYAML_TYPE_FALSE: case CYAML_TYPE_TRUE: