1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 14:18:12 +00:00

LibCore: Improve handling of parsing errors in FilePermissionsMask

This commit is contained in:
Xavier Defrang 2022-01-22 16:34:09 +01:00 committed by Brian Gianforcaro
parent 30f58de800
commit 070d70848f
2 changed files with 7 additions and 1 deletions

View file

@ -72,6 +72,8 @@ ErrorOr<FilePermissionsMask> FilePermissionsMask::from_symbolic_notation(StringV
operation = Operation::Remove;
else if (ch == '=')
operation = Operation::Assign;
else if (classes == 0)
return Error::from_string_literal("invalid class: expected 'u', 'g', 'o' or 'a'"sv);
else
return Error::from_string_literal("invalid operation: expected '+', '-' or '='"sv);
@ -104,7 +106,7 @@ ErrorOr<FilePermissionsMask> FilePermissionsMask::from_symbolic_notation(StringV
else if (ch == 'x')
write_bits = 1;
else
return Error::from_string_literal("invalid symbolic permission"sv);
return Error::from_string_literal("invalid symbolic permission: expected 'r', 'w' or 'x'"sv);
mode_t clear_bits = operation == Operation::Assign ? 7 : write_bits;