Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 1954092b

Von Sven Schöling vor fast 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
103 103
          substr $line, $-[0], $+[0] - $-[0], "";
104 104
        }
105 105

  
106
        $previous                = _store_value($filename ? $target : $temp_target, $name, '') if ($name);
107
        $temp_target->{FILENAME} = $filename if ($filename);
106
        $previous                = _store_value(defined $filename ? $target : $temp_target, $name, '') if ($name);
107
        $temp_target->{FILENAME} = $filename if (defined $filename);
108 108

  
109 109
        # for multiple uploads: save the attachments in a SL/Mailer like structure
110
        if ($name && $filename) {
110
        if ($name && defined $filename) {
111 111
          _store_value($target, "ATTACHMENTS.$name.data", $previous);
112 112
          _store_value($temp_target, "ATTACHMENTS.$name.filename", $filename);
113 113
        }

Auch abrufbar als: Unified diff