diff --git a/src/client/scanner.c b/src/client/scanner.c index 2725a27..c2b61aa 100644 --- a/src/client/scanner.c +++ b/src/client/scanner.c @@ -17,6 +17,8 @@ DirectoryScanner* directory_scanner_create(char* root_directory, bool use_metada int include_count, unsigned long long max_size, unsigned long long min_size) { DirectoryScanner* scanner = malloc(sizeof(DirectoryScanner)); + if (scanner == NULL) + return NULL; scanner->directories = queue_create(100, free); scanner->current_dir = NULL; scanner->current_path = NULL; diff --git a/src/shared/protocol.c b/src/shared/protocol.c index a372d4e..d050869 100644 --- a/src/shared/protocol.c +++ b/src/shared/protocol.c @@ -65,7 +65,7 @@ static int io_fd(int dir_fd, int file_descriptor) { return (dir_fd != -1) ? dir_fd : file_descriptor; } -bool send_n_data(int file_descriptor, void* data, size_t data_size) { +bool send_n_data(int file_descriptor, const void* data, size_t data_size) { log_message(LOG_LEVEL_DEBUG, " Sending n Data: %zu", data_size); int fd = io_fd(io_write_fd, file_descriptor); ssize_t total_bytes_send = 0; @@ -75,9 +75,9 @@ bool send_n_data(int file_descriptor, void* data, size_t data_size) { chunk = 65536; ssize_t bytes_send; if (io_ssl) - bytes_send = SSL_write(io_ssl, (char*)data + total_bytes_send, chunk); + bytes_send = SSL_write(io_ssl, (const char*)data + total_bytes_send, chunk); else - bytes_send = write(fd, (char*)data + total_bytes_send, chunk); + bytes_send = write(fd, (const char*)data + total_bytes_send, chunk); if (bytes_send <= 0) { log_message(LOG_LEVEL_ERROR, "Could not send data"); return false; @@ -133,7 +133,7 @@ static const char* status_to_string(Status status) { } } -bool send_str(int file_descriptor, char* data) { +bool send_str(int file_descriptor, const char* data) { size_t size = strlen(data); if (!send_n_data(file_descriptor, &size, sizeof(size_t))) return false; @@ -159,7 +159,7 @@ char* receive_str(int file_descriptor) { return data; } -bool send_data(int file_descriptor, Data* data) { +bool send_data(int file_descriptor, const Data* data) { unsigned long long data_size = data->size; if (!send_n_data(file_descriptor, &data_size, sizeof(unsigned long long))) return false; diff --git a/src/shared/protocol.h b/src/shared/protocol.h index ec3b13d..0289ab4 100644 --- a/src/shared/protocol.h +++ b/src/shared/protocol.h @@ -20,14 +20,13 @@ enum NET_STATUS { void io_set_fds(int read_fd, int write_fd); void io_set_bwlimit(unsigned long long bytes_per_sec); -typedef struct ssl_st SSL; void io_set_ssl(SSL* ssl); -bool send_n_data(int file_descriptor, void* data, size_t data_size); +bool send_n_data(int file_descriptor, const void* data, size_t data_size); bool receive_n_data(int file_descriptor, void* data, size_t data_size); -bool send_str(int file_descriptor, char* data); +bool send_str(int file_descriptor, const char* data); char* receive_str(int file_descriptor); -bool send_data(int file_descriptor, Data* data); +bool send_data(int file_descriptor, const Data* data); Data* receive_data(int file_descriptor); bool send_int(int file_descriptor, int data); bool receive_int(int file_descriptor, int* data);