void comm_encrypt_send_data()

in communication.c [20:42]


void comm_encrypt_send_data(HANDLE pipe, const uint8_t* buffer,
    uint32_t buffer_size, const uint8_t* key,
    size_t key_size)
{
    assert(INVALID_HANDLE_VALUE != pipe);
    assert(buffer);
    assert(buffer_size);
    assert(key);
    assert(key_size);

    uint8_t* encrypted_buffer = NULL;

    encrypted_buffer = (uint8_t*)calloc(1, buffer_size);
    if (!encrypted_buffer)
        h_error("Failed to allocate encrypted buffer\n");

    memcpy_s(encrypted_buffer, buffer_size, buffer, buffer_size);
    rc4(key, key_size, encrypted_buffer, buffer_size);

    comm_send_data(pipe, encrypted_buffer, buffer_size);

    free(encrypted_buffer);
}