diff options
author | Simo Sorce <ssorce@redhat.com> | 2010-04-29 12:30:05 -0400 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2010-05-03 13:53:19 -0400 |
commit | 601545ddd3f65e819de307214fdde8a9181be366 (patch) | |
tree | 51219018d71a4631dbf9be2982f4236aacbf9b13 /src/providers/data_provider_be.c | |
parent | 0ab5413bbbafe05c2a61d42b24e1842848bf78c2 (diff) | |
download | sssd-601545ddd3f65e819de307214fdde8a9181be366.tar.gz sssd-601545ddd3f65e819de307214fdde8a9181be366.tar.xz sssd-601545ddd3f65e819de307214fdde8a9181be366.zip |
Better handle sdap_handle memory from callers.
Always just mark the sdap_handle as not connected and let later _send()
functions to take care of freeing the handle before reconnecting.
Introduce restart functions to avoid calling _send() functions in _done()
functions error paths as this would have the same effect as directly freeing
the sdap_handle and cause access to freed memory in sdap_handle_release()
By freeing sdap_handle only in the connection _recv() function we
guarantee it can never be done within sdap_handle_release() but only
in a following event.
Diffstat (limited to 'src/providers/data_provider_be.c')
-rw-r--r-- | src/providers/data_provider_be.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/providers/data_provider_be.c b/src/providers/data_provider_be.c index 22f180248..6dc6f9bea 100644 --- a/src/providers/data_provider_be.c +++ b/src/providers/data_provider_be.c @@ -405,7 +405,7 @@ static int be_get_account_info(DBusMessage *message, struct sbus_connection *con } /* process request */ - be_req = talloc(becli, struct be_req); + be_req = talloc_zero(becli, struct be_req); if (!be_req) { err_maj = DP_ERR_FATAL; err_min = ENOMEM; |