>From 00a9629e11fb587708cef4e300d6c3038c2a458a Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Tue, 20 Nov 2012 05:03:32 -0500 Subject: [PATCH] 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. --- src/util/util.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/util/util.c b/src/util/util.c index 18df0e84729074d467f12e490e58d1779f27d7d1..ab980775a1e4c87b16d32220bccda6cb644e0756 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) { -- 1.8.0