| 171 | } |
| 172 | |
| 173 | static bool windows_sid_valid(const uint8_t *sid, size_t sid_length) { |
| 174 | enum { |
| 175 | WINDOWS_SID_HEADER_SIZE = 8, |
| 176 | WINDOWS_SID_SUBAUTHORITY_SIZE = 4, |
| 177 | WINDOWS_SID_SUBAUTHORITY_MAX = 15, |
| 178 | }; |
| 179 | return sid && sid_length >= WINDOWS_SID_HEADER_SIZE && sid[0] == 1 && |
| 180 | sid[1] <= WINDOWS_SID_SUBAUTHORITY_MAX && |
| 181 | sid_length == WINDOWS_SID_HEADER_SIZE + (size_t)sid[1] * WINDOWS_SID_SUBAUTHORITY_SIZE; |
| 182 | } |
| 183 | |
| 184 | static bool windows_pipe_address_valid(const char *address) { |
| 185 | static const char prefix[] = "\\\\.\\pipe\\cbm-daemon-"; |
no outgoing calls
no test coverage detected