src/backup/data_blob.rs: define const MAX_BLOB_SIZE
This commit is contained in:
		| @ -3,6 +3,8 @@ use std::convert::TryInto; | ||||
|  | ||||
| use proxmox::tools::io::{ReadExt, WriteExt}; | ||||
|  | ||||
| const MAX_BLOB_SIZE: usize = 128*1024*1024; | ||||
|  | ||||
| use super::*; | ||||
|  | ||||
| /// Data blob binary storage format | ||||
| @ -69,7 +71,7 @@ impl DataBlob { | ||||
|         compress: bool, | ||||
|     ) -> Result<Self, Error> { | ||||
|  | ||||
|         if data.len() > 128*1024*1024 { | ||||
|         if data.len() > MAX_BLOB_SIZE { | ||||
|             bail!("data blob too large ({} bytes).", data.len()); | ||||
|         } | ||||
|  | ||||
| @ -163,7 +165,7 @@ impl DataBlob { | ||||
|             return Ok(self.raw_data[data_start..].to_vec()); | ||||
|         } else if magic == &COMPRESSED_BLOB_MAGIC_1_0 { | ||||
|             let data_start = std::mem::size_of::<DataBlobHeader>(); | ||||
|             let data = zstd::block::decompress(&self.raw_data[data_start..], 16*1024*1024)?; | ||||
|             let data = zstd::block::decompress(&self.raw_data[data_start..], MAX_BLOB_SIZE)?; | ||||
|             return Ok(data); | ||||
|         } else if magic == &ENCR_COMPR_BLOB_MAGIC_1_0 || magic == &ENCRYPTED_BLOB_MAGIC_1_0 { | ||||
|             let header_len = std::mem::size_of::<EncryptedDataBlobHeader>(); | ||||
| @ -215,7 +217,7 @@ impl DataBlob { | ||||
|         compress: bool, | ||||
|     ) -> Result<Self, Error> { | ||||
|  | ||||
|         if data.len() > 128*1024*1024 { | ||||
|         if data.len() > MAX_BLOB_SIZE { | ||||
|             bail!("data blob too large ({} bytes).", data.len()); | ||||
|         } | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user