From 50ea9c86a3697c10f115a74bd497612993d66ed5 Mon Sep 17 00:00:00 2001
From: ale <ale@incal.net>
Date: Tue, 18 Oct 2022 00:31:09 +0100
Subject: [PATCH] Fix memory leak on successful deserialization

---
 src/sso/sso.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/sso/sso.c b/src/sso/sso.c
index e6879f7..8eefd8b 100644
--- a/src/sso/sso.c
+++ b/src/sso/sso.c
@@ -218,7 +218,8 @@ static int sso_ticket_deserialize(sso_ticket_t *t, const char *s, int sz) {
     *session_id = NULL;
   char **groups = NULL;
   time_t expires = 0;
-  int err, field_size;
+  int err = SSO_OK;
+  int field_size;
   int i = 0, last = 0, field = 0;
   char *token;
 
@@ -261,7 +262,7 @@ static int sso_ticket_deserialize(sso_ticket_t *t, const char *s, int sz) {
         free(token);
         break;
       case 7:
-        groups = (char **)group_list_parse(token);
+        groups = group_list_parse(token);
         free(token);
         break;
       default:
@@ -285,8 +286,6 @@ static int sso_ticket_deserialize(sso_ticket_t *t, const char *s, int sz) {
   }
 
   *t = sso_ticket_new(user, service, domain, nonce, session_id, (const char **)groups, expires);
-  free(version);
-  return SSO_OK;
 
  fail:
   if (version != NULL)
-- 
GitLab