clean up and standardize types across the codebase, unify atomic operations, improve UTF-8 handling throughout the system, remove obsolete input and named queue interfaces, redesign process preparation and creation, tighten IPC and service boundaries, improve error handling and reliability, minor documentation cleanup, fix doom surfaces, fix panic in ini parsing.
This commit is contained in:
1 parent
899225f551
commit
c0ad63c27f
226 files changed
+6562
-4147
No files matched your search
@@ -202,6 +202,23 @@ int main(void) {
|
||||
if (status != NTLSTATUS_NOT_FOUND)
|
||||
return fail("rejected bind visibility", status);
|
||||
|
||||
// Well-formed multibyte identities are accepted as paths without normalization.
|
||||
static const char validPath[] = { '/', 'X', (char)0xC3, (char)0xA9 };
|
||||
status = NtlResourceQuery(session, SysSvFromParts(validPath, sizeof(validPath)), &kind);
|
||||
if (status != NTLSTATUS_NOT_FOUND)
|
||||
return fail("valid UTF-8 namespace path rejected", status);
|
||||
|
||||
// Namespace identities are UTF-8 byte strings, never arbitrary byte paths.
|
||||
static const char invalidPath[] = { '/', 'B', 'a', 'd', (char)0xED, (char)0xA0, (char)0x80 };
|
||||
status = NtlResourceQuery(session, SysSvFromParts(invalidPath, sizeof(invalidPath)), &kind);
|
||||
if (status != NTLSTATUS_INVALID_PARAMETER)
|
||||
return fail("malformed UTF-8 namespace path accepted", status);
|
||||
|
||||
static const char embeddedNulPath[] = { '/', 'A', 0, 'B' };
|
||||
status = NtlResourceQuery(session, SysSvFromParts(embeddedNulPath, sizeof(embeddedNulPath)), &kind);
|
||||
if (status != NTLSTATUS_INVALID_PARAMETER)
|
||||
return fail("embedded NUL namespace path accepted", status);
|
||||
|
||||
status = NtlResourceQuery(session, SYS_SV_LITERAL("/SystemRoot/../Bad"), &kind);
|
||||
if (status != NTLSTATUS_INVALID_PARAMETER)
|
||||
return fail("canonical path rejection", status);
|
||||
|
||||
Reference in new issue
Block a user