From: Tilghman Lesher Date: Tue, 4 Jul 2006 00:16:33 +0000 (+0000) Subject: Bug 7472 - Change line terminator for header to be RFC-compliant X-Git-Tag: 1.4.0-beta1~685 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c929a15b7950b28258b2aeb691c5de301dff0fc8;p=thirdparty%2Fasterisk.git Bug 7472 - Change line terminator for header to be RFC-compliant Also, check to ensure the memory allocation didn't fail. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36892 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/manager.c b/manager.c index 9ad15d993e..d2c25ecce3 100644 --- a/manager.c +++ b/manager.c @@ -2169,7 +2169,11 @@ static char *generic_http_callback(int format, struct sockaddr_in *requestor, co if (!s) { /* Create new session */ - s = calloc(1, sizeof(struct mansession)); + s = ast_calloc(1, sizeof(struct mansession)); + if (!s) { + *status = 500; + goto generic_callback_out; + } memcpy(&s->sin, requestor, sizeof(s->sin)); s->fd = -1; s->waiting_thread = AST_PTHREADT_NULL; @@ -2203,7 +2207,7 @@ static char *generic_http_callback(int format, struct sockaddr_in *requestor, co memset(&m, 0, sizeof(m)); if (s) { char tmp[80]; - ast_build_string(&c, &len, "Content-type: text/%s\n", contenttype[format]); + ast_build_string(&c, &len, "Content-type: text/%s\r\n", contenttype[format]); sprintf(tmp, "%08lx", s->managerid); ast_build_string(&c, &len, "%s\r\n", ast_http_setcookie("mansession_id", tmp, httptimeout, cookie, sizeof(cookie))); if (format == FORMAT_HTML) @@ -2280,6 +2284,7 @@ static char *generic_http_callback(int format, struct sockaddr_in *requestor, co if (blastaway) destroy_session(s); +generic_callback_out: if (*status != 200) return ast_http_error(500, "Server Error", NULL, "Internal Server Error (out of memory)\n"); return retval;