[PHP-users 12744] Re: null byte attack

Osamu Shigematsu php-users@php.gr.jp
Wed, 22 Jan 2003 17:06:41 +0900


重松です。こんにちは。

> ソースを追っていないのですが、basename() 自体が、
> C のライブラリのそれを使っているのではないでしょうか?

ソース見ました。
./ext/standard/string.c

そのままは使っていなかったです。

が、戻り値が char* であり、その長さを返していません。
それに、suffix の切りつめが、\0 書き込みだし。

なので、最低でも結果の長さを返さないとうまく行かないと思います。

	RETURN_STRING(X,Y)

の X に char* を, Y に 0 を返しているのですが、
Y に正しい長さを返すといいのでしょうか。

-- 
Osamu Shigematsu <m5issige@mr.hitachi-medical.co.jp>