validate_filename

Function validate_filename 

Source
pub fn validate_filename(filename: &str) -> Result<String>
Expand description

Validate a file name for safety

File names must:

  1. Not contain path separators (/ or )
  2. Not be “.” or “..”
  3. Not contain null bytes or other control characters
  4. Be reasonable length (< 255 characters)

§Arguments

  • filename - The filename to validate

§Returns

Returns the validated filename if validation succeeds, or an error if validation fails.

§Examples

use path_security::validate_filename;

// Valid filenames
let name = validate_filename("document.pdf")?;
let name = validate_filename("report-2024.xlsx")?;

// Invalid filenames
assert!(validate_filename("../etc/passwd").is_err());
assert!(validate_filename(".").is_err());
assert!(validate_filename("..").is_err());