From 10dfaf855dc560322377a61726dada7a65fa5497 Mon Sep 17 00:00:00 2001 From: Rockingcool Date: Sun, 9 Apr 2023 10:48:21 -0500 Subject: [PATCH] Fixed bug with memory allocation in 'create_user_list' function --- main.c | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/main.c b/main.c index a8312fe..0441549 100644 --- a/main.c +++ b/main.c @@ -128,15 +128,26 @@ User** create_user_list(char* filename) { int num_users = num_of_lines(filename); char* file_str = file_to_string(filename); - char* token = malloc(sizeof(char) * 30); - User** users = malloc (num_users * sizeof(User*)); + char* token = malloc(30 * sizeof(char)); + User** users = malloc(num_users * sizeof(User*)); - token = strtok(file_str," \r\n"); - for (int i=0;iusername = strdup(token); - token = strtok(NULL," \r\n"); - (*(users + i))->password = strdup(token); - token = strtok(NULL," \r\n"); + token = strtok(file_str," \n"); + + for (int i=0;iusername = malloc(strlen(token)+1); + strcpy((*(users + i))->username,token); + + token = strtok(NULL," \n"); + + (*(users + i))->password = malloc(strlen(token)+1); + strcpy((*(users + i))->password,token); + + token = strtok(NULL," \n"); } return users;