Figure 4
: RPGでのメモリ・オーバーライト
* To compile: CRTBNDRPG PGM(EXAMPLE4)
H dftactgrp(*no)
D ptr@ S *
D message S 14A BASED(ptr@)
/free
// 13バイトの記憶域をヒープから割り当てる
ptr@ = %ALLOC(13);
// 14バイトのメッセージ変数全体が
// あとに続く空白も含めて更新されている
message = 'hello'; // メモリ・オーバーライト発生
// 記憶域を解除する
DEALLOC ptr@;
*inlr = '1';