Commit 2e70b710 authored by Srinivas Pandruvada's avatar Srinivas Pandruvada Committed by Hans de Goede

tools/power/x86/intel-speed-select: Increase string size

The current string size to print cpulist can accommodate upto 80
logical CPUs per package. But this limit is not enough. So increase
the string size. Also prevent buffer overflow, if the string size
reaches limit.
Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
parent 5e3f5973
...@@ -25,10 +25,14 @@ static void printcpulist(int str_len, char *str, int mask_size, ...@@ -25,10 +25,14 @@ static void printcpulist(int str_len, char *str, int mask_size,
index = snprintf(&str[curr_index], index = snprintf(&str[curr_index],
str_len - curr_index, ","); str_len - curr_index, ",");
curr_index += index; curr_index += index;
if (curr_index >= str_len)
break;
} }
index = snprintf(&str[curr_index], str_len - curr_index, "%d", index = snprintf(&str[curr_index], str_len - curr_index, "%d",
i); i);
curr_index += index; curr_index += index;
if (curr_index >= str_len)
break;
first = 0; first = 0;
} }
} }
...@@ -64,10 +68,14 @@ static void printcpumask(int str_len, char *str, int mask_size, ...@@ -64,10 +68,14 @@ static void printcpumask(int str_len, char *str, int mask_size,
index = snprintf(&str[curr_index], str_len - curr_index, "%08x", index = snprintf(&str[curr_index], str_len - curr_index, "%08x",
mask[i]); mask[i]);
curr_index += index; curr_index += index;
if (curr_index >= str_len)
break;
if (i) { if (i) {
strncat(&str[curr_index], ",", str_len - curr_index); strncat(&str[curr_index], ",", str_len - curr_index);
curr_index++; curr_index++;
} }
if (curr_index >= str_len)
break;
} }
free(mask); free(mask);
...@@ -185,7 +193,7 @@ static void _isst_pbf_display_information(int cpu, FILE *outf, int level, ...@@ -185,7 +193,7 @@ static void _isst_pbf_display_information(int cpu, FILE *outf, int level,
int disp_level) int disp_level)
{ {
char header[256]; char header[256];
char value[256]; char value[512];
snprintf(header, sizeof(header), "speed-select-base-freq-properties"); snprintf(header, sizeof(header), "speed-select-base-freq-properties");
format_and_print(outf, disp_level, header, NULL); format_and_print(outf, disp_level, header, NULL);
...@@ -349,7 +357,7 @@ void isst_ctdp_display_information(int cpu, FILE *outf, int tdp_level, ...@@ -349,7 +357,7 @@ void isst_ctdp_display_information(int cpu, FILE *outf, int tdp_level,
struct isst_pkg_ctdp *pkg_dev) struct isst_pkg_ctdp *pkg_dev)
{ {
char header[256]; char header[256];
char value[256]; char value[512];
static int level; static int level;
int i; int i;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment