diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2012-11-20 05:03:32 -0500 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2012-11-21 10:51:25 +0100 |
commit | 011e32224f6fee10e4a7ec4a293794dd56b53bdb (patch) | |
tree | 7e971770ce56abae521b0a4baf617a33ca737ccd /src/util/util.c | |
parent | 94aeeb0ce58314dc58da06a933247edd14ba50df (diff) | |
download | sssd-011e32224f6fee10e4a7ec4a293794dd56b53bdb.tar.gz sssd-011e32224f6fee10e4a7ec4a293794dd56b53bdb.tar.xz sssd-011e32224f6fee10e4a7ec4a293794dd56b53bdb.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.
Diffstat (limited to 'src/util/util.c')
-rw-r--r-- | src/util/util.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/util/util.c b/src/util/util.c index 18df0e847..ab980775a 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) { |