diff --git a/main/http.c b/main/http.c index cc3fc9fc51..d77f278ad4 100644 --- a/main/http.c +++ b/main/http.c @@ -406,7 +406,7 @@ void ast_http_send(struct ast_tcptls_session_instance *ser, /* calc content length */ if (out) { - content_length += strlen(ast_str_buffer(out)); + content_length += ast_str_strlen(out); } if (fd) { @@ -433,8 +433,8 @@ void ast_http_send(struct ast_tcptls_session_instance *ser, /* send content */ if (method != AST_HTTP_HEAD || status_code >= 400) { - if (out) { - if (fwrite(ast_str_buffer(out), content_length, 1, ser->f) != 1) { + if (out && ast_str_strlen(out)) { + if (fwrite(ast_str_buffer(out), ast_str_strlen(out), 1, ser->f) != 1) { ast_log(LOG_ERROR, "fwrite() failed: %s\n", strerror(errno)); } }