summaryrefslogtreecommitdiffstats
path: root/web/api
diff options
context:
space:
mode:
authorVladimir Kobal <vlad@prokk.net>2019-05-14 18:35:12 +0300
committerGitHub <noreply@github.com>2019-05-14 18:35:12 +0300
commit0d5fa83e224afa6d530ed6a5e6e6fe35a8af955e (patch)
tree99a1a33870b26e93b18693dc2775888abcd298b6 /web/api
parent1833691018fda9eb6b80eed373c482a394a1267e (diff)
Fix segmentation fault (#6011)
* Fix segmentation fault * Make system info printing safe * Fix quotes for OS name
Diffstat (limited to 'web/api')
-rw-r--r--web/api/web_api_v1.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/web/api/web_api_v1.c b/web/api/web_api_v1.c
index 04c9198cca..7c0d728bf8 100644
--- a/web/api/web_api_v1.c
+++ b/web/api/web_api_v1.c
@@ -736,19 +736,19 @@ inline int web_client_api_request_v1_info(RRDHOST *host, struct web_client *w, c
web_client_api_request_v1_info_summary_alarm_statuses(host, wb);
buffer_strcat(wb, "\t},\n");
- buffer_sprintf(wb, "\t\"os_name\": %s,\n", host->system_info->os_name);
- buffer_sprintf(wb, "\t\"os_id\": \"%s\",\n", host->system_info->os_id);
- buffer_sprintf(wb, "\t\"os_id_like\": \"%s\",\n", host->system_info->os_id_like);
- buffer_sprintf(wb, "\t\"os_version\": \"%s\",\n", host->system_info->os_version);
- buffer_sprintf(wb, "\t\"os_version_id\": \"%s\",\n", host->system_info->os_version_id);
- buffer_sprintf(wb, "\t\"os_detection\": \"%s\",\n", host->system_info->os_detection);
- buffer_sprintf(wb, "\t\"kernel_name\": \"%s\",\n", host->system_info->kernel_name);
- buffer_sprintf(wb, "\t\"kernel_version\": \"%s\",\n", host->system_info->kernel_version);
- buffer_sprintf(wb, "\t\"architecture\": \"%s\",\n", host->system_info->architecture);
- buffer_sprintf(wb, "\t\"virtualization\": \"%s\",\n", host->system_info->virtualization);
- buffer_sprintf(wb, "\t\"virt_detection\": \"%s\",\n", host->system_info->virt_detection);
- buffer_sprintf(wb, "\t\"container\": \"%s\",\n", host->system_info->container);
- buffer_sprintf(wb, "\t\"container_detection\": \"%s\",\n", host->system_info->container_detection);
+ buffer_sprintf(wb, "\t\"os_name\": %s,\n", (host->system_info->os_name) ? host->system_info->os_name : "\"\"");
+ buffer_sprintf(wb, "\t\"os_id\": \"%s\",\n", (host->system_info->os_id) ? host->system_info->os_id : "");
+ buffer_sprintf(wb, "\t\"os_id_like\": \"%s\",\n", (host->system_info->os_id_like) ? host->system_info->os_id_like : "");
+ buffer_sprintf(wb, "\t\"os_version\": \"%s\",\n", (host->system_info->os_version) ? host->system_info->os_version : "");
+ buffer_sprintf(wb, "\t\"os_version_id\": \"%s\",\n", (host->system_info->os_version_id) ? host->system_info->os_version_id : "");
+ buffer_sprintf(wb, "\t\"os_detection\": \"%s\",\n", (host->system_info->os_detection) ? host->system_info->os_detection : "");
+ buffer_sprintf(wb, "\t\"kernel_name\": \"%s\",\n", (host->system_info->kernel_name) ? host->system_info->kernel_name : "");
+ buffer_sprintf(wb, "\t\"kernel_version\": \"%s\",\n", (host->system_info->kernel_version) ? host->system_info->kernel_version : "");
+ buffer_sprintf(wb, "\t\"architecture\": \"%s\",\n", (host->system_info->architecture) ? host->system_info->architecture : "");
+ buffer_sprintf(wb, "\t\"virtualization\": \"%s\",\n", (host->system_info->virtualization) ? host->system_info->virtualization : "");
+ buffer_sprintf(wb, "\t\"virt_detection\": \"%s\",\n", (host->system_info->virt_detection) ? host->system_info->virt_detection : "");
+ buffer_sprintf(wb, "\t\"container\": \"%s\",\n", (host->system_info->container) ? host->system_info->container : "");
+ buffer_sprintf(wb, "\t\"container_detection\": \"%s\",\n", (host->system_info->container_detection) ? host->system_info->container_detection : "");
buffer_strcat(wb, "\t\"collectors\": [");
chartcollectors2json(host, wb);