Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 1954092b

Von Sven Schöling vor etwa 13 Jahren hinzugefügt

  • ID 1954092b8d019bbaedede98167795f08878c8a08
  • Vorgänger 34967eb4
  • Nachfolger 4785d221

filename checks müssen auf defined sein, weil der dateiname auch leer sein kann.

Hintergrund: Wenn bei einem fileupload in einem [+] array die letzte Zeile leer
ist, wird der Dateiname leer gelassen. Dadurch wurde die Dateizeile
fälschlicherweise ins target einsortiert und hat dort die letzte Zeile der
echten Uploads überschrieben.

Unterschiede anzeigen:

SL/Request.pm
substr $line, $-[0], $+[0] - $-[0], "";
}
$previous = _store_value($filename ? $target : $temp_target, $name, '') if ($name);
$temp_target->{FILENAME} = $filename if ($filename);
$previous = _store_value(defined $filename ? $target : $temp_target, $name, '') if ($name);
$temp_target->{FILENAME} = $filename if (defined $filename);
# for multiple uploads: save the attachments in a SL/Mailer like structure
if ($name && $filename) {
if ($name && defined $filename) {
_store_value($target, "ATTACHMENTS.$name.data", $previous);
_store_value($temp_target, "ATTACHMENTS.$name.filename", $filename);
}

Auch abrufbar als: Unified diff