mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
tools:misc:xenlockprof: fix possible format string overflow
GCC7 complains about a possible overflow/truncation in xenlockprof.
xenlockprof.c: In function ‘main’:
xenlockprof.c:100:53: error: ‘%s’ directive writing up to 39 bytes into a
region of size between 17 and 37 [-Werror=format-overflow=]
sprintf(name, "unknown type(%d) %d lock %s", data[j].type,
^~
xenlockprof.c:100:13: note: ‘sprintf’ output between 24 and 83 bytes
into a destination of size 60
sprintf(name, "unknown type(%d) %d lock %s", data[j].type,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
data[j].idx, data[j].name);
~~~~~~~~~~~~~~~~~~~~~~~~~~
This increases the size of name to 100. Not the most scalable solution,
but certainly the "cheapest", as it doesn't add dependencies for
asprintf.
Signed-off-by: Seraphime Kirkovski <kirkseraph@gmail.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
This commit is contained in:
1 parent
88ad3208bb
commit
f49fa658b5
1 file changed
+1
-1
@@ -24,7 +24,7 @@ int main(int argc, char *argv[])
|
||||
uint32_t i, j, n;
|
||||
uint64_t time;
|
||||
double l, b, sl, sb;
|
||||
char name[60];
|
||||
char name[100];
|
||||
DECLARE_HYPERCALL_BUFFER(xc_lockprof_data_t, data);
|
||||
|
||||
if ( (argc > 2) || ((argc == 2) && (strcmp(argv[1], "-r") != 0)) )
|
||||
|
||||