1
0
Fork 1
Spiegel von https://github.com/dani-garcia/vaultwarden.git synchronisiert 2024-11-22 05:10:29 +01:00

Fix attachment upload size check (#4282)

The min/max were reversed with the `add` and `sub` functions.
This caused the files to always be out of bounds in the check.

Fixes #4281
Dieser Commit ist enthalten in:
Mathijs van Veluw 2024-01-28 23:32:09 +01:00 committet von GitHub
Ursprung edf7484a70
Commit 0f39d96518
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: B5690EEEBB952194

Datei anzeigen

@ -1123,12 +1123,12 @@ async fn save_attachment(
// the client. Upstream allows +/- 1 MiB deviation from this // the client. Upstream allows +/- 1 MiB deviation from this
// size, but it's not clear when or why this is needed. // size, but it's not clear when or why this is needed.
const LEEWAY: i64 = 1024 * 1024; // 1 MiB const LEEWAY: i64 = 1024 * 1024; // 1 MiB
let Some(min_size) = attachment.file_size.checked_add(LEEWAY) else { let Some(max_size) = attachment.file_size.checked_add(LEEWAY) else {
err!("Invalid attachment size min")
};
let Some(max_size) = attachment.file_size.checked_sub(LEEWAY) else {
err!("Invalid attachment size max") err!("Invalid attachment size max")
}; };
let Some(min_size) = attachment.file_size.checked_sub(LEEWAY) else {
err!("Invalid attachment size min")
};
if min_size <= size && size <= max_size { if min_size <= size && size <= max_size {
if size != attachment.file_size { if size != attachment.file_size {