From cbb3aa3910ccfff4490722d8f22c315fe94591c3 Mon Sep 17 00:00:00 2001 From: javalsai Date: Wed, 11 Jun 2025 16:13:01 +0200 Subject: [PATCH] dev: remove strcln in favor of strdup --- include/util.h | 1 - src/auth.c | 3 ++- src/users.c | 2 +- src/util.c | 5 ----- 4 files changed, 3 insertions(+), 8 deletions(-) diff --git a/include/util.h b/include/util.h index 5daf13b..2afb588 100644 --- a/include/util.h +++ b/include/util.h @@ -11,7 +11,6 @@ enum keys find_keyname(char*); enum keys find_ansi(char*); void read_press(u_char*, char*); -void strcln(char** dest, const char* source); struct Vector { uint32_t length; diff --git a/src/auth.c b/src/auth.c index 3e5579c..e19c93e 100644 --- a/src/auth.c +++ b/src/auth.c @@ -174,7 +174,8 @@ bool launch(char* user, char* passwd, struct session session, void (*cb)(void), if (pid == 0) { // child char* term = NULL; char* getterm = getenv("TERM"); - if (getterm != NULL) strcln(&term, getterm); + // TODO: handle malloc error + if (getterm != NULL) term = strdup(getterm); if (clearenv() != 0) { print_errno("clearenv"); _exit(EXIT_FAILURE); diff --git a/src/users.c b/src/users.c index 8d909b0..bc38413 100644 --- a/src/users.c +++ b/src/users.c @@ -46,7 +46,7 @@ struct Vector get_human_users() { struct passwd* NULLABLE pwd; while ((pwd = getpwent()) != NULL) { - if (strcmp(pwd->pw_dir, "/home/") != 0) continue; + if (!pwd->pw_dir || strcmp(pwd->pw_dir, "/home/") != 0) continue; struct user* user_i = malloc(sizeof(struct user)); if (user_i == NULL) continue; // malloc error diff --git a/src/util.c b/src/util.c index d23c741..84f9efc 100644 --- a/src/util.c +++ b/src/util.c @@ -11,11 +11,6 @@ static int selret_magic(); -void strcln(char** dest, const char* source) { - *dest = malloc(strlen(source) + sizeof(char)); - strcpy(*dest, source); -} - enum keys find_keyname(char* name) { for (size_t i = 0; i < sizeof(key_mappings) / sizeof(key_mappings[0]); i++) { if (strcmp(key_names[i], name) == 0) return (enum keys)i;