[xmlrpc-c] Coverity 1024180, 1024205, 1024301, 1024847, 1024848, 1024377, 1024378, 1024379, 1024380, 1024381, 1024584, 1024495, 1214208 fixes.

This commit is contained in:
Andrey Volk committed 2025-02-04 03:46:55 +03:00
1 parent da7300bee0
commit eba48efef5
6 files changed
+27 -14

No files matched your search

+7 -4
View File
@@ -189,6 +189,7 @@ xmlrpc_server_cgi_process_call(xmlrpc_registry * const registryP) {
size_t input_size, output_size;
int code;
char *message;
char *err = NULL;
/* Error-handling preconditions. */
xmlrpc_env_init(&env);
@@ -209,13 +210,13 @@ xmlrpc_server_cgi_process_call(xmlrpc_registry * const registryP) {
}
if (!type || !xmlrpc_strneq(type, "text/xml", strlen("text/xml"))) {
char *template = "Expected content type: \"text/xml\", received: \"%s\"";
size_t err_len = strlen(template) + strlen(type) + 1;
char *err = malloc(err_len);
size_t err_len = strlen(template) + (type ? strlen(type) : 0) + 1;
(void)snprintf(err, err_len, template, type);
err = malloc(err_len);
(void)snprintf(err, err_len, template, (type ? type : ""));
code = 400; message = "Bad Request";
XMLRPC_FAIL(&env, XMLRPC_INTERNAL_ERROR, err);
free(err);
}
if (!length_str) {
code = 411; message = "Length Required";
@@ -254,6 +255,8 @@ xmlrpc_server_cgi_process_call(xmlrpc_registry * const registryP) {
send_xml(output_data, output_size);
cleanup:
if (err)
free(err);
if (input)
xmlrpc_mem_block_free(input);
if (output)