Don't destroy identity and session objects provided by lasso_profile_get_identity()
and lasso_profile_get_session() methods
This commit is contained in:
parent
f965f5631f
commit
c3eb32cf54
14
src/utils.c
14
src/utils.c
|
@ -1,8 +1,8 @@
|
|||
/*
|
||||
* idpc - IDP as a C CGI program
|
||||
* Copyright (C) 2004 Entr'ouvert
|
||||
* Copyright (C) 2004-2005 Entr'ouvert
|
||||
*
|
||||
* Author: Frederic Peters <fpeters@entrouvert.com>
|
||||
* Authors: See AUTHORS file in top-level directory.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -99,13 +99,11 @@ int set_profile_from_dumps(LassoProfile *profile,
|
|||
}
|
||||
|
||||
if (session_dump && session_dump[0]) {
|
||||
rc = lasso_profile_set_session_from_dump(
|
||||
profile, session_dump);
|
||||
rc = lasso_profile_set_session_from_dump(profile, session_dump);
|
||||
if (rc) {
|
||||
fprintf(stderr, "set session failed\n");
|
||||
return 1;
|
||||
}
|
||||
session_dump = NULL;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -162,12 +160,12 @@ int save_profile_dumps(LassoProfile *profile)
|
|||
char *dump;
|
||||
char *user_id;
|
||||
|
||||
|
||||
rc = db_get_user_id(profile->nameIdentifier->content, &user_id);
|
||||
if (rc) {
|
||||
fprintf(stderr, "db_get_user_id failed\n");
|
||||
return 1;
|
||||
}
|
||||
fprintf(stderr, "INFO: Save session & identity for user: %s\n", user_id);
|
||||
|
||||
if (lasso_profile_is_identity_dirty(profile)) {
|
||||
LassoIdentity *identity;
|
||||
|
@ -175,8 +173,8 @@ int save_profile_dumps(LassoProfile *profile)
|
|||
dump = identity ? lasso_identity_dump(identity) : strdup("");
|
||||
rc = db_save_identity(user_id, dump);
|
||||
free(dump);
|
||||
lasso_identity_destroy(identity);
|
||||
if (rc) {
|
||||
fprintf(stderr, "db_save_identity failed: error %d\n", rc);
|
||||
free(user_id);
|
||||
return 1;
|
||||
}
|
||||
|
@ -188,8 +186,8 @@ int save_profile_dumps(LassoProfile *profile)
|
|||
dump = session ? lasso_session_dump(session) : strdup("");
|
||||
rc = db_save_session(user_id, dump);
|
||||
free(dump);
|
||||
lasso_session_destroy(session);
|
||||
if (rc) {
|
||||
fprintf(stderr, "db_save_session failed: error %d\n", rc);
|
||||
free(user_id);
|
||||
return 1;
|
||||
}
|
||||
|
|
Reference in New Issue