static char file_name[80];
int fd, num_read;
- sprintf(file_name, "%s/%s/%s", SYSFS_VBD_PATH, vbd_directory, what);
+ snprintf(file_name, sizeof(file_name), "%s/%s/%s",
+ SYSFS_VBD_PATH, vbd_directory, what);
fd = open(file_name, O_RDONLY, 0);
if (fd==-1) return -1;
num_read = read(fd, ret, cap - 1);
unsigned i, num_domains = 0;
unsigned long long used = 0;
xenstat_domain *domain;
+ time_t curt;
/* Print program name, current time, and number of domains */
- strftime(time_str, TIME_STR_LEN, TIME_STR_FORMAT,
- localtime((const time_t *)&curtime.tv_sec));
+ curt = curtime.tv_sec;
+ strftime(time_str, TIME_STR_LEN, TIME_STR_FORMAT, localtime(&curt));
num_domains = xenstat_node_num_domains(cur_node);
ver_str = xenstat_node_xen_version(cur_node);
print("xentop - %s Xen %s\n", time_str, ver_str);
/* Count the number of domains for which to report data */
num_domains = xenstat_node_num_domains(cur_node);
- domains = malloc(num_domains*sizeof(xenstat_domain *));
+ domains = calloc(num_domains, sizeof(xenstat_domain *));
if(domains == NULL)
fail("Failed to allocate memory\n");