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
1.4
Tilghman Lesher 20 years ago
parent 5da2848158
commit c929a15b79

@ -2169,7 +2169,11 @@ static char *generic_http_callback(int format, struct sockaddr_in *requestor, co
if (!s) { if (!s) {
/* Create new session */ /* 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)); memcpy(&s->sin, requestor, sizeof(s->sin));
s->fd = -1; s->fd = -1;
s->waiting_thread = AST_PTHREADT_NULL; 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)); memset(&m, 0, sizeof(m));
if (s) { if (s) {
char tmp[80]; 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); sprintf(tmp, "%08lx", s->managerid);
ast_build_string(&c, &len, "%s\r\n", ast_http_setcookie("mansession_id", tmp, httptimeout, cookie, sizeof(cookie))); ast_build_string(&c, &len, "%s\r\n", ast_http_setcookie("mansession_id", tmp, httptimeout, cookie, sizeof(cookie)));
if (format == FORMAT_HTML) if (format == FORMAT_HTML)
@ -2280,6 +2284,7 @@ static char *generic_http_callback(int format, struct sockaddr_in *requestor, co
if (blastaway) if (blastaway)
destroy_session(s); destroy_session(s);
generic_callback_out:
if (*status != 200) if (*status != 200)
return ast_http_error(500, "Server Error", NULL, "Internal Server Error (out of memory)\n"); return ast_http_error(500, "Server Error", NULL, "Internal Server Error (out of memory)\n");
return retval; return retval;

Loading…
Cancel
Save