mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
http: Fix spurious ERROR message in responses with no content
When a response has a content length of 0, fwrite would be called to write a buffer with no data in it. This resulted in the following classic error message: [Apr 3 11:49:17] ERROR[26421] http.c: fwrite() failed: Success This patch makes it so that we only attempt to write out the content if the calculated content_length is non-zero. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@411687 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -416,7 +416,7 @@ void ast_http_send(struct ast_tcptls_session_instance *ser,
|
|||||||
|
|
||||||
/* calc content length */
|
/* calc content length */
|
||||||
if (out) {
|
if (out) {
|
||||||
content_length += strlen(ast_str_buffer(out));
|
content_length += ast_str_strlen(out);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fd) {
|
if (fd) {
|
||||||
@@ -443,7 +443,7 @@ void ast_http_send(struct ast_tcptls_session_instance *ser,
|
|||||||
|
|
||||||
/* send content */
|
/* send content */
|
||||||
if (method != AST_HTTP_HEAD || status_code >= 400) {
|
if (method != AST_HTTP_HEAD || status_code >= 400) {
|
||||||
if (out) {
|
if (content_length) {
|
||||||
if (fwrite(ast_str_buffer(out), content_length, 1, ser->f) != 1) {
|
if (fwrite(ast_str_buffer(out), content_length, 1, ser->f) != 1) {
|
||||||
ast_log(LOG_ERROR, "fwrite() failed: %s\n", strerror(errno));
|
ast_log(LOG_ERROR, "fwrite() failed: %s\n", strerror(errno));
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user