• dearblue's avatar
    Check first `0` when converting symbols into strings · 3d8a8fb6
    dearblue authored
    This was because it caused `SIGSEGV` when `mruby -v` displayed an unnamed variable.
    
    ```console
    % bin/mruby -ve 'call { |(a, b)| }'
    
      ...SNIP...
    
    irep 0x8007d0050 nregs=3 nlocals=1 pools=0 syms=1 reps=1 iseq=12
    file: -e
        1 000 OP_LOADSELF   R1
        1 002 OP_BLOCK      R2      I(0:0x8007d00a0)
        1 005 OP_SENDB      R1      :call   0
        1 009 OP_RETURN     R1
        1 011 OP_STOP
    
    irep 0x8007d00a0 nregs=6 nlocals=5 pools=0 syms=0 reps=0 iseq=29
    local variable names:
    zsh: segmentation fault (core dumped)  bin/mruby -ve 'call { |(a, b)| }'
    ```
    3d8a8fb6
symbol.c 14.9 KB