diff options
| author | Bouke van der Bijl <[email protected]> | 2016-11-18 16:17:40 -0500 |
|---|---|---|
| committer | Bouke van der Bijl <[email protected]> | 2016-11-24 09:54:18 -0500 |
| commit | 73e4f069becaf69707b990d658b34155f8973508 (patch) | |
| tree | 38cfdf461e9167da70dea3dd60093fa009dd3048 /mrbgems/mruby-compiler/core/codegen.c | |
| parent | a630c4f413f6af764e68210430e8b61a435d38d7 (diff) | |
| download | mruby-73e4f069becaf69707b990d658b34155f8973508.tar.gz mruby-73e4f069becaf69707b990d658b34155f8973508.zip | |
Fix nested empty heredoc causing segfault
As reported by https://hackerone.com/jpenalbae
Diffstat (limited to 'mrbgems/mruby-compiler/core/codegen.c')
| -rw-r--r-- | mrbgems/mruby-compiler/core/codegen.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c index 0c84dd558..13091a6f5 100644 --- a/mrbgems/mruby-compiler/core/codegen.c +++ b/mrbgems/mruby-compiler/core/codegen.c @@ -2285,7 +2285,11 @@ codegen(codegen_scope *s, node *tree, int val) if (val) { node *n = tree; - if (!n) break; + if (!n) { + genop(s, MKOP_A(OP_LOADNIL, cursp())); + push(); + break; + } codegen(s, n->car, VAL); n = n->cdr; while (n) { |
