- 770 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/16(土) 16:25:13.67 ID:ylTJzt8E0.net]
- sprintfを不適切に使ってるっていうのはHTMLモードのここら辺のことかな
char *tmp = ptr2; *ptr2 = 0; while(*ptr2 != '<') ptr2--; strcpy(signatureTag, ptr2); while(*ptr != '<') ptr--; sprintf(closeTag, "</%s>",ptr+1); memmem_privの戻り値から遡って開始タグ“<”以降を取り出してるが 「<sp__29バイトを超える糞長エレメント名__an class="post">」みたいな返答が 万一外部プロキシサーバーから返されてきたらオーバーフロー起こすかもしれんね closeTag,signatureTagはスタック上に32バイト分だけ確保されてるから closeTag = (char*) malloc( (unsigned)(tmp - ptr)+3+1 ) で必要な文字数分を動的確保するか if ( (unsigned)(tmp - ptr)>(sizeof(closeTag)-3-1) ) で文字数チェックしてdat変換中止するかかな突貫工事するなら
|

|