diff --git a/src/shared/config.c b/src/shared/config.c index 8ae4c5e..5f4accf 100644 --- a/src/shared/config.c +++ b/src/shared/config.c @@ -14,6 +14,7 @@ Config* config_create(char* version, char* send_directory, char* receive_directo bool use_sendfile, unsigned long long chunk_size) { Config* config = malloc(sizeof(Config)); + if (config == NULL) return NULL; config->version = version; config->send_directory = send_directory; config->receive_root_directory = receive_directory; diff --git a/src/shared/file.c b/src/shared/file.c index 58b0455..4f25dc4 100644 --- a/src/shared/file.c +++ b/src/shared/file.c @@ -34,7 +34,7 @@ File* file_create(const char* path) { return NULL; } - strcpy(file->path, path); + memcpy(file->path, path, path_len + 1); file->data = data_create_reserve(0); if (file->data == NULL) { free(file->path); diff --git a/src/shared/metadata.c b/src/shared/metadata.c index 2564f7d..4056607 100644 --- a/src/shared/metadata.c +++ b/src/shared/metadata.c @@ -54,6 +54,7 @@ FileMetadata* metadata_from_buf(char** buf) { if (!present) return NULL; FileMetadata* m = malloc(sizeof(FileMetadata)); + if (m == NULL) return NULL; int32_t mode; memcpy(&mode, *buf, sizeof(mode)); *buf += sizeof(mode); diff --git a/src/shared/utils.c b/src/shared/utils.c index ad1e533..0f04a90 100644 --- a/src/shared/utils.c +++ b/src/shared/utils.c @@ -54,7 +54,7 @@ char* str_dup(const char* string) { if (string == NULL) return NULL; char* new_string = (char*)malloc(strlen(string) + 1); - strcpy(new_string, string); + memcpy(new_string, string, strlen(string) + 1); return new_string; }