| 175 | } |
| 176 | |
| 177 | static bool windows_pipe_address_valid(const char *address) { |
| 178 | static const char prefix[] = "\\\\.\\pipe\\cbm-daemon-"; |
| 179 | if (!address || strncmp(address, prefix, sizeof(prefix) - 1U) != 0) { |
| 180 | return false; |
| 181 | } |
| 182 | const char *digest = address + sizeof(prefix) - 1U; |
| 183 | for (size_t index = 0; index < CBM_SHA256_HEX_LEN; index++) { |
| 184 | char character = digest[index]; |
| 185 | if (!((character >= '0' && character <= '9') || (character >= 'a' && character <= 'f'))) { |
| 186 | return false; |
| 187 | } |
| 188 | } |
| 189 | return digest[CBM_SHA256_HEX_LEN] == '\0'; |
| 190 | } |
| 191 | |
| 192 | bool cbm_daemon_ipc_windows_generation_address( |
| 193 | const uint8_t *sid, size_t sid_length, const char *instance_key, |
no outgoing calls
no test coverage detected