From cbd860b8e62ec0dc85d4d76a9a8900a3db9c740c Mon Sep 17 00:00:00 2001 From: chenziyang Date: Tue, 8 Nov 2022 11:15:36 +0800 Subject: [PATCH] Fix heap buffer overflow error in yaml_emitter_emit_flow_sequence_item function --- src/emitter.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/emitter.c b/src/emitter.c index 609b28a..336bfd1 100644 --- a/src/emitter.c +++ b/src/emitter.c @@ -758,7 +758,13 @@ yaml_emitter_emit_flow_sequence_item(yaml_emitter_t *emitter, if (event->type == YAML_SEQUENCE_END_EVENT) { emitter->flow_level --; - emitter->indent = POP(emitter, emitter->indents); + if (!STACK_EMPTY(emitter, emitter->indents)) { + emitter->indent = POP(emitter, emitter->indents); + } + else { + emitter->indent = 0; // set to default + } + if (emitter->canonical && !first) { if (!yaml_emitter_write_indicator(emitter, ",", 0, 0, 0)) return 0; -- 2.21.0.windows.1