#479: PUT FileUpload may leave stale tempfile behind
--------------------------------------------+-------------------------------
 Reporter:  [EMAIL PROTECTED]  |        Owner:  david   
     Type:  defect                          |       Status:  assigned
 Priority:  low                             |    Milestone:  0.11    
Component:  request                         |      Version:  HEAD    
 Severity:  normal                          |   Resolution:          
 Keywords:  tempfile stale put-request      |  
--------------------------------------------+-------------------------------
Old description:

> the webrequest writes put fileuploads to temporary file created with
> fopen(tempnam()). If the application decides not to handle the file, it
> will be left behind. Using tmpfile() is out of question, as it would
> remove the file once fclose() is called on the file handle, and leaving
> the file handle open is not really nice.
>
> a solution would be to add a destructor to AgaviUploadedFile() that
> checks wether the actual referenced file still exitsts and removes it if
> so. However, this would require that no instance or clone of the
> AgaviUploadedFile gets destroyed before the request shuts down or
> implementing a {{{__clone()}}} method that copies the tempfile, to that
> each clone references its own tempfile.

New description:

 the webrequest writes put fileuploads to temporary file created with
 {{{fopen(tempnam())}}}. If the application decides not to handle the file,
 it will be left behind. Using {{{tmpfile()}}} is out of question, as it
 would remove the file once {{{fclose()}}} is called on the file handle,
 and leaving the file handle open is not really nice.

 a solution would be to add a destructor to {{{AgaviUploadedFile}}} that
 checks wether the actual referenced file still exitsts and removes it if
 so. However, this would require that no instance or clone of the
 {{{AgaviUploadedFile}}} gets destroyed before the request shuts down or
 implementing a {{{__clone()}}} method that copies the tempfile, to that
 each clone references its own tempfile.

-- 
Ticket URL: <http://trac.agavi.org/ticket/479#comment:2>
Agavi <http://www.agavi.org/>
An MVC Framework for PHP5


_______________________________________________
Agavi Tickets Mailing List
[email protected]
http://lists.agavi.org/mailman/listinfo/tickets

Reply via email to