summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2013-10-17 19:37:14 +0200
committerJakub Hrozek <jhrozek@redhat.com>2013-10-22 08:53:46 +0200
commit92d67a0fa2de353cc930d498653856cef1574025 (patch)
tree29f3f9b0b1e57850e9800d10b3f8e5ca3b14a4c1 /src
parent9885fed5dc7b2d2117ddffd9d2e2adb7a4f4441c (diff)
downloadsssd-92d67a0fa2de353cc930d498653856cef1574025.tar.gz
sssd-92d67a0fa2de353cc930d498653856cef1574025.tar.xz
sssd-92d67a0fa2de353cc930d498653856cef1574025.zip
PROXY: Fix memory hierarchy when enumerating services
Diffstat (limited to 'src')
-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"));