diff --git a/src/sso/sso.c b/src/sso/sso.c index e6879f7a9da6741c36646f6ac1516b54ae3910a7..8eefd8bea1a0ed71a21bba0fa8b6ac0a8451182d 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)