[C/C++] バッファオーバーランを積極的に利用する?

Posted by
ぴろり
Posted at
2005/10/27 10:09
Post Comment
コメントできます
Category
開発メモ カテゴリ

 "与えられた文字列を逆順で出力するコード"のネタ的回答が出てきたので覚書。バッファオーバーランを積極的にかつ安全に(!?)利用しています。保守性はかなり悪いです。

このエントリーをはてなブックマークに追加  

#include <stdio.h>
#include <memory.h>

void main ()
{
	#pragma pack(1)
	struct {
		char end;
		char buf [16];
		char start;
	} data;
	#pragma pack()

	memcpy (&data.end, "0" "0123456789abcdef", 1 + 16);
	for (char *p = &data.start; *(--p); p)
		putchar (*p);
}

初出C言語とC++言語コミュニティ - お題をひたすら解くトピック2005/07/21

このエントリーをはてなブックマークに追加  



コメントを投稿する

 
 (必須, 匿名可, 公開, トリップが使えます)
 (必須, 匿名可, 非公開, Gravatar に対応しています)
 (必須)
スパム コメント防止のため「投稿確認」欄に ランダムな数字 CAPTCHAについて を入力してから送信してください。お手数ですがご協力のほど宜しくお願いいたします。