summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2012-11-20 05:03:32 -0500
committerJakub Hrozek <jhrozek@redhat.com>2012-11-21 10:50:24 +0100
commitd95e16fd2707c0f88da0bce2b6c315711ed02bae (patch)
tree234767901dcd864a559b7ef913cbc1d6546c5f22
parentdb15d9fc8252f05d705083b4798a492566284293 (diff)
downloadsssd-d95e16fd2707c0f88da0bce2b6c315711ed02bae.tar.gz
sssd-d95e16fd2707c0f88da0bce2b6c315711ed02bae.tar.bz2
sssd-d95e16fd2707c0f88da0bce2b6c315711ed02bae.zip
MONITOR: Fix off-by-one error in add_string_to_list
We need to allocate num_services+2 - one extra space for the new service and one for NULL.
-rw-r--r--src/util/util.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/util/util.c b/src/util/util.c
index 18df0e84..ab980775 100644
--- a/src/util/util.c
+++ b/src/util/util.c
@@ -656,7 +656,10 @@ errno_t add_string_to_list(TALLOC_CTX *mem_ctx, const char *string,
new_list = talloc_array(mem_ctx, char *, 2);
} else {
for (c = 0; old_list[c] != NULL; c++);
- new_list = talloc_realloc(mem_ctx, old_list, char *, c + 1);
+ /* Allocate one extra space for the new service and one for
+ * the terminating NULL
+ */
+ new_list = talloc_realloc(mem_ctx, old_list, char *, c + 2);
}
if (new_list == NULL) {