Passenger, アップロードされたコンテンツの長さがLimitRequestBodyの設定に引っかかるとエラー吐く

環境

Passenger 2.2.5

概要

LimitRequestBodyを設定した状態で、それ以上の長さのリクエストを送るとレスポンスが壊れる(レスポンス長がcontent-lengthと一致しないなど)。
/var/log/httpd/error_logには以下のようなエラーが記録される。

[Sun Oct 18 21:01:00 2009] [error] [client xxx.xxx.xxx.xxx] Requested content-length of 524293 is larger than the configured limit of 10240, referer: http://xxx
[ pid=xxx file=ext/apache2/Hooks.cpp:725 time=2009-10-18 21:01:00.974 ]:
  Unexpected error in mod_passenger: An error occurred while receiving HTTP upload data: Unknown error 18446744073709551613 (-3)
  Backtrace:
     in 'boost::shared_ptr<Passenger::BufferedUpload> Hooks::receiveRequestBody(request_rec*, const char*)' (Hooks.cpp:1082)
     in 'int Hooks::handleRequest(request_rec*)' (Hooks.cpp:457)

原因と対策

Passengerのリクエストハンドリングが、LimitRequestBodyの存在をを考慮していない? 途中で切られた場合のエラー処理をちゃんとしていないようだ。
その時のレスポンスが壊れる・エラーログが記録されるだけでPassengerが死ぬことはないようだ。DoSの原因とはならなそうなので放置してもよさそう。