summaryrefslogtreecommitdiff
path: root/fix-heap-buffer-overflow-in-yaml_emitter_emit_flow_m.patch
blob: 957a0cf7ed01b2016a010f5d5f4871aa79e0d742 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
From 7015a5e99fecc195e36f2334b046b19abfc718c1 Mon Sep 17 00:00:00 2001
From: panxiaohe <panxh.life@foxmail.com>
Date: Mon, 18 Apr 2022 15:26:11 +0800
Subject: [PATCH] fix heap buffer overflow in
 yaml_emitter_emit_flow_mapping_key

---
 src/emitter.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/emitter.c b/src/emitter.c
index 609b28a..a9f39ec 100644
--- a/src/emitter.c
+++ b/src/emitter.c
@@ -806,6 +806,8 @@ yaml_emitter_emit_flow_mapping_key(yaml_emitter_t *emitter,
 
     if (event->type == YAML_MAPPING_END_EVENT)
     {
+        if (STACK_EMPTY(emitter, emitter->indents))
+            return 0;
         emitter->flow_level --;
         emitter->indent = POP(emitter, emitter->indents);
         if (emitter->canonical && !first) {
-- 
1.8.3.1