From 8ec6e3276f681296693510b9d428bf1006d487af Mon Sep 17 00:00:00 2001 From: tilghman Date: Tue, 20 Jul 2010 16:50:11 +0000 Subject: Merged revisions 278023 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r278023 | tilghman | 2010-07-20 11:37:18 -0500 (Tue, 20 Jul 2010) | 7 lines Off-by-one error (closes issue #16506) Reported by: nik600 Patches: 20100629__issue16506.diff.txt uploaded by tilghman (license 14) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@278024 f38db490-d61c-443f-a65b-d21fe96a405b --- main/manager.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'main') diff --git a/main/manager.c b/main/manager.c index 42ad0919c..9d31eebda 100644 --- a/main/manager.c +++ b/main/manager.c @@ -5523,19 +5523,17 @@ static int generic_http_callback(struct ast_tcptls_session_instance *ser, char *buf; size_t l; - /* Ensure buffer is NULL-terminated */ - fprintf(s.f, "%c", 0); - if ((l = ftell(s.f))) { - if (MAP_FAILED == (buf = mmap(NULL, l, PROT_READ | PROT_WRITE, MAP_PRIVATE, s.fd, 0))) { + if (MAP_FAILED == (buf = mmap(NULL, l + 1, PROT_READ | PROT_WRITE, MAP_PRIVATE, s.fd, 0))) { ast_log(LOG_WARNING, "mmap failed. Manager output was not processed\n"); } else { + buf[l] = '\0'; if (format == FORMAT_XML || format == FORMAT_HTML) { xml_translate(&out, buf, params, format); } else { ast_str_append(&out, 0, "%s", buf); } - munmap(buf, l); + munmap(buf, l + 1); } } else if (format == FORMAT_XML || format == FORMAT_HTML) { xml_translate(&out, "", params, format); -- cgit v1.2.3