diff --git a/backend.c b/backend.c index fa0d6e0..26b01c4 100644 --- a/backend.c +++ b/backend.c @@ -24,7 +24,7 @@ char* smartstrcasestr(char *haystack, const char *needle){ needle -= passes; if (smart == 0) { char *needle_case = malloc(strlen(needle)+1); - strcpy(needle_case, needle); + memcpy(needle_case, needle, strlen(needle)); passes = 0; while (*needle_case) { *needle_case = *needle_case | ' '; @@ -34,7 +34,7 @@ char* smartstrcasestr(char *haystack, const char *needle){ needle_case -= passes; char *haystack_case = malloc(strlen(haystack)+1); - strcpy(haystack_case, haystack); + memcpy(haystack_case, haystack, strlen(haystack)); passes = 0; while (*haystack_case) { *haystack_case = *haystack_case | ' '; diff --git a/colors.c b/colors.c index 042d275..adc4ac9 100644 --- a/colors.c +++ b/colors.c @@ -108,7 +108,7 @@ void colors_init() { if (line[0] == '.') { extension = strtok(line, " "); colors[i].file_extension = malloc(strlen(extension)+1); - strcpy(colors[i].file_extension, extension); + memcpy(colors[i].file_extension, extension, strlen(extension)+1); colors[i].color_pair = i+11; parse_colors(line, &fg, &bg); diff --git a/dir.c b/dir.c index d8fca23..df3f9c9 100644 --- a/dir.c +++ b/dir.c @@ -66,7 +66,7 @@ void get_dir_content(char *path, unsigned long *dir_file_count, file *dir_conten if (entry[i]->d_name[0] == '.' && !(file_modifiers & FILE_MODIFIERS_HIDDEN_FILES)) { } else { dir_content[i].file_name = malloc(strlen(entry[i]->d_name)+1); - strcpy(dir_content[i].file_name, entry[i]->d_name); + memcpy(dir_content[i].file_name, entry[i]->d_name, strlen(entry[i]->d_name) + 1); struct stat *file; diff --git a/interactions.c b/interactions.c index 158f3af..5a4d81d 100644 --- a/interactions.c +++ b/interactions.c @@ -274,7 +274,7 @@ void move_right(){ cmd = concat(cmd, "\""); btm_buffer = malloc(strlen(cmd)); - strcpy(btm_buffer, cmd-1); + memcpy(btm_buffer, cmd, strlen(cmd)); if (system(cmd) == -1) { @@ -590,7 +590,7 @@ void jump_to_dir(unsigned long passes, int index){ ch = (char*)key_binding[index].black_magic; if (*ch == '/') { path = malloc(strlen((char*)key_binding[index].black_magic)); - strcpy(path, (char*)key_binding[index].black_magic); + memcpy(path, (char*)key_binding[index].black_magic, strlen((char*)key_binding[index].black_magic)+1); } else if (slash) { env_str = malloc(env_len * sizeof(char)); memcpy(env_str, (char*)key_binding[index].black_magic +1, env_len); @@ -600,16 +600,16 @@ void jump_to_dir(unsigned long passes, int index){ path = concat(env_parsed, (char*)key_binding[index].black_magic + env_len); } else { path = malloc(strlen((char*)key_binding[index].black_magic)); - strcpy(path, (char*)key_binding[index].black_magic); + memcpy(path, (char*)key_binding[index].black_magic, strlen((char*)key_binding[index].black_magic)+1); } } else { env_parsed = getenv((char*)key_binding[index].black_magic +1); if (env_parsed) { path = malloc(strlen(env_parsed)+1); - strcpy(path, env_parsed); + memcpy(path, env_parsed, strlen(env_parsed)+1); } else { path = malloc(strlen((char*)key_binding[index].black_magic)); - strcpy(path, (char*)key_binding[index].black_magic); + memcpy(path, (char*)key_binding[index].black_magic, strlen((char*)key_binding[index].black_magic)+1); } } if (chdir(path) != 0) { @@ -772,13 +772,13 @@ void yank_file(unsigned long passes, int index){ yank_files.count = 1; yank_files.list = (char**)malloc(yank_files.count * sizeof(char*)); *yank_files.list = malloc(strlen(mid_content[selected_file_current].file_name)+1); - strcpy(*yank_files.list, mid_content[selected_file_current].file_name); + memcpy(*yank_files.list, mid_content[selected_file_current].file_name, strlen(mid_content[selected_file_current].file_name)); } else { yank_files.list = malloc(yank_files.count * sizeof(char*)); for (i = 0; i < mid_file_count; i++) { if (mid_content[i].status & FILE_STATUS_SELECTED) { *yank_files.list = malloc(strlen(mid_content[i].file_name)+1); - strcpy(*yank_files.list, mid_content[i].file_name); + memcpy(*yank_files.list, mid_content[i].file_name, strlen(mid_content[i].file_name)); yank_files.list += 1; } } diff --git a/threading.c b/threading.c index f89291b..ddc640d 100644 --- a/threading.c +++ b/threading.c @@ -150,7 +150,7 @@ void *thread_rgt(){ char *path; if (mid_file_count != 0) { path = malloc(strlen(mid_content[selected_file_current].file_name) + 1); - strcpy(path, mid_content[selected_file_current].file_name); + memcpy(path, mid_content[selected_file_current].file_name, strlen(mid_content[selected_file_current].file_name)+1); } else { path = malloc(sizeof(char)); path[0] = '\0';