読者です 読者をやめる 読者になる 読者になる

すりごまの鯖缶?ブログ 2缶目

鯖管のことだったりプログラミングのことだったりマイクラのことだったり

生きてますよ。

ええ。
忙しいっすね。

今回はStackOverFlowをわざと起こさせてみました。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string>

void print(char*);
int main(void)
{
	char line[255] = {0};
	char output[10] = {0};
	FILE *fp = fopen("bug.txt","r");
	fgets(line,255,fp);
	fclose(fp);
	strcpy(output, line);
	print(output);
	return 0;
}
void print(char* out)
{
	printf(out);
}

はい。実に危なっかしいコードですね。
これに

abcdefghijklmnopqrstuvwxyz@(0x16)@(0x00)

(カッコ中身はバイナリエディタ等で入力)
って中身の"bug.txt"を読み込ませると、エントリーポイントに1回戻って文字列を2回出力します。
詳細な説明は後日。