diff options
author | Alejandro Perez <alex@um.es> | 2017-02-11 11:44:39 +0000 |
---|---|---|
committer | Simo Sorce <simo@redhat.com> | 2017-02-13 05:38:23 -0500 |
commit | cfb4b771af19d46d89b2a0104c70ad29e9e38c8c (patch) | |
tree | 3e99c6cb4997f2d52eb9c87196633a8ddc0fa99d /src/environ.c | |
parent | 9bd84625838b82a789fc291d85460ab2878093d6 (diff) | |
download | mod_auth_gssapi-master.tar.gz mod_auth_gssapi-master.tar.xz mod_auth_gssapi-master.zip |
Reviewed-by: Simo Sorce <simo@redhat.com>
Closes #127
Diffstat (limited to 'src/environ.c')
-rw-r--r-- | src/environ.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/environ.c b/src/environ.c index e3a021a..840ccd2 100644 --- a/src/environ.c +++ b/src/environ.c @@ -35,6 +35,14 @@ static bool mag_get_name_attr(request_rec *req, return true; } +static apr_status_t mag_mc_name_attrs_cleanup(void *data) +{ + struct mag_conn *mc = (struct mag_conn *)data; + free(mc->name_attributes); + mc->name_attributes = NULL; + return 0; +} + static void mc_add_name_attribute(struct mag_conn *mc, const char *name, const char *value) { @@ -44,6 +52,8 @@ static void mc_add_name_attribute(struct mag_conn *mc, size = sizeof(struct mag_attr) * (mc->na_count + 16); mc->name_attributes = realloc(mc->name_attributes, size); if (!mc->name_attributes) apr_pool_abort_get(mc->pool)(ENOMEM); + apr_pool_userdata_setn(mc, GSS_NAME_ATTR_USERDATA, + mag_mc_name_attrs_cleanup, mc->pool); } mc->name_attributes[mc->na_count].name = apr_pstrdup(mc->pool, name); |