From f8ad5a7a313070111e9a47195f738740146f71ed Mon Sep 17 00:00:00 2001 From: bpc2003 Date: Mon, 17 Mar 2025 14:40:20 -0400 Subject: Fixed a few memory leaks --- src/lib/keytab.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/lib/keytab.c') diff --git a/src/lib/keytab.c b/src/lib/keytab.c index f8570a0..c2842c9 100644 --- a/src/lib/keytab.c +++ b/src/lib/keytab.c @@ -52,8 +52,10 @@ int setkey(tablist_t **list, int id, char *pair) (*list)[0].len = id + 1; } char **kv = getkv(pair); - if (kv == NULL) + if (kv == NULL) { + free(pair); return 1; + } int idx = hash(kv[0]); while ((*list)[id].tab[idx].key != NULL && @@ -120,8 +122,10 @@ static char **getkv(char *pair) int i = 0; while (pair[i] != ':' && i < strlen(pair)) i++; - if (i >= strlen(pair)) + if (i >= strlen(pair)) { + free(kv); return NULL; + } kv[0] = calloc(i + 1, sizeof(char)); strncpy(kv[0], pair, i); kv[1] = calloc(strlen(pair) - i, sizeof(char)); -- cgit v1.2.3