HSP コンパイラをSEGVさせる脅威のスクリプト
#undef mes #define mes(%1) mes %1:mes %1 mes "hoge"
このスクリプトヤバい。
コンパイルしようとするとすとーんと落ちる。エディタも道連れに。
Linux版OpenHSPで試してみるとSegmentation faultと。
これはマズいので直すべき。
マクロの展開あたりのバグだろうか。
-
-
- -
-
#define a(%1) a %1:b %1 a 0
でもうまくいく。
-
-
- -
-
#define a(%1) a %1 %c b %1 a 0
だけど、これだと
#HSP script preprocessor ver3.1 / onion software 1997-2007(c) #Use file [hspdef.as] #Error:macro buffer overflow in line 2 [hsptmp] #Fatal error reported.
で。
-
-
- -
-
#define a(%1) a %1:b a 0
だと
#HSP script preprocessor ver3.1 / onion software 1997-2007(c) #Use file [hspdef.as] #Error:illegal macro parameter in line 2 [hsptmp] #Fatal error reported.
なんだな。
ふしぎ!
-
-
- -
-
ここでgdbの使い方が分かっていればさっとどこでSEGVが起こっているかわかるのになあとか思った。