summaryrefslogtreecommitdiffstats
path: root/src/providers/proxy
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2013-10-17 19:37:14 +0200
committerJakub Hrozek <jhrozek@redhat.com>2013-10-21 22:53:38 +0200
commit980a535ac81b0f63ce18fc2311dab702ced7fdc6 (patch)
treeede31d3189501c8df1e3178121a3b3dac11770a7 /src/providers/proxy
parent444d8f0077644a3701d8e25cd3041db6def43a62 (diff)
downloadsssd-980a535ac81b0f63ce18fc2311dab702ced7fdc6.tar.gz
sssd-980a535ac81b0f63ce18fc2311dab702ced7fdc6.tar.xz
sssd-980a535ac81b0f63ce18fc2311dab702ced7fdc6.zip
PROXY: Fix memory hierarchy when enumerating services
Diffstat (limited to 'src/providers/proxy')
-rw-r--r--src/providers/proxy/proxy_services.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/providers/proxy/proxy_services.c b/src/providers/proxy/proxy_services.c
index e9f3b3f5c..474959039 100644
--- a/src/providers/proxy/proxy_services.c
+++ b/src/providers/proxy/proxy_services.c
@@ -198,7 +198,7 @@ enum_services(struct proxy_id_ctx *ctx,
char *newbuf;
errno_t ret, sret;
time_t now = time(NULL);
- const char *protocols[2] = { NULL, NULL };
+ const char **protocols;
const char **cased_aliases;
bool again;
@@ -222,6 +222,12 @@ enum_services(struct proxy_id_ctx *ctx,
goto done;
}
+ protocols = talloc_zero_array(tmpctx, const char *, 2);
+ if (protocols == NULL) {
+ ret = ENOMEM;
+ goto done;
+ }
+
ret = sysdb_transaction_start(sysdb);
if (ret) {
DEBUG(SSSDBG_CRIT_FAILURE, ("Failed to start transaction\n"));