Skip to content

Commit ce73b52

Browse files
committed
Fixed coverity issue in acl_kernel_if.cpp: Type: Invalid type in argument to printf format specifier (PRINTF_ARGS)
1. Used std::optional::value() and some pointer dereferencing to obtain the value of the argument to printf. 2. Used %zu instead of %d to print out unsigned long types (size_t mostly)
1 parent f8e3a83 commit ce73b52

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

src/acl_kernel_if.cpp

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include <stdlib.h>
99
#include <string>
1010
#include <vector>
11+
#include <cinttypes>
1112

1213
// Internal headers.
1314
#include <acl_auto_configure.h>
@@ -247,7 +248,7 @@ static int get_auto_discovery_string(acl_kernel_if *kern, char *config_str) {
247248
kern->io.printf(" HAL Kern: Version ID incorrect\n");
248249
return -1;
249250
}
250-
ACL_KERNEL_IF_DEBUG_MSG(kern, "Read %d bytes from kernel auto discovery", r);
251+
ACL_KERNEL_IF_DEBUG_MSG(kern, "Read %zu bytes from kernel auto discovery", r);
251252

252253
return (r == rom_size) ? 0 : -1;
253254
}
@@ -288,7 +289,7 @@ static int acl_kernel_if_read_32b(acl_kernel_if *kern, unsigned int addr,
288289
r = kern->io.read(&kern->io, (dev_addr_t)addr, (char *)val, (size_t)size);
289290
if (r < size) {
290291
kern->io.printf(
291-
"HAL Kern Error: Read failed from addr %x, read %d expected %d\n", addr,
292+
"HAL Kern Error: Read failed from addr %x, read %zu expected %zu\n", addr,
292293
r, size);
293294
return -1;
294295
}
@@ -334,7 +335,7 @@ static int acl_kernel_rom_read_block(acl_kernel_if *kern, unsigned int addr,
334335
r = kern->io.read(&kern->io, (dev_addr_t)addr, config_rom, (size_t)size);
335336
if (r < size) {
336337
kern->io.printf(
337-
"HAL Kern Error: Read failed from addr %x, read %d expected %d\n", addr,
338+
"HAL Kern Error: Read failed from addr %x, read %zu expected %zu\n", addr,
338339
r, size);
339340
return -1;
340341
}
@@ -381,7 +382,7 @@ static int acl_kernel_if_write_64b(acl_kernel_if *kern, unsigned int addr,
381382
r = (int)kern->io.write(&kern->io, (dev_addr_t)addr, (char *)&val,
382383
(size_t)size);
383384
if (r < size) {
384-
kern->io.printf("HAL Kern Error: Write failed to addr %x with value %x, "
385+
kern->io.printf("HAL Kern Error: Write failed to addr %x with value %" PRIu64 ", "
385386
"wrote %d, expected %d\n",
386387
addr, val, r, size);
387388
return -1;
@@ -423,8 +424,8 @@ static int acl_kernel_if_write_block(acl_kernel_if *kern, unsigned int addr,
423424

424425
if (r < aligned_size) {
425426
kern->io.printf("HAL Kern Error: Write failed to addr %x with value %x, "
426-
"wrote %d expected %d\n",
427-
addr, val, r, aligned_size);
427+
"wrote %zu expected %zu\n",
428+
addr, *val, r, aligned_size);
428429
return -1;
429430
}
430431
return 0;
@@ -930,7 +931,7 @@ int acl_kernel_if_update(const acl_device_def_autodiscovery_t &devdef,
930931
OFFSET_KERNEL_CRA + devdef.hal_info[ii].csr.address;
931932
kern->accel_csr[ii].bytes = devdef.hal_info[ii].csr.num_bytes;
932933

933-
ACL_KERNEL_IF_DEBUG_MSG(kern, "Kernel_%s CSR { 0x%08x, 0x%08x }\n",
934+
ACL_KERNEL_IF_DEBUG_MSG(kern, "Kernel_%s CSR { 0x%08" PRIuPTR ", 0x%08" PRIuPTR " }\n",
934935
devdef.accel[ii].iface.name.c_str(),
935936
kern->accel_csr[ii].address,
936937
kern->accel_csr[ii].bytes);
@@ -942,7 +943,7 @@ int acl_kernel_if_update(const acl_device_def_autodiscovery_t &devdef,
942943
OFFSET_KERNEL_CRA + devdef.hal_info[ii].perf_mon.address;
943944
kern->accel_perf_mon[ii].bytes = devdef.hal_info[ii].perf_mon.num_bytes;
944945

945-
ACL_KERNEL_IF_DEBUG_MSG(kern, "Kernel_%s perf_mon { 0x%08x, 0x%08x }\n",
946+
ACL_KERNEL_IF_DEBUG_MSG(kern, "Kernel_%s perf_mon { 0x%08" PRIuPTR ", 0x%08" PRIuPTR " }\n",
946947
devdef.accel[ii].iface.name.c_str(),
947948
kern->accel_perf_mon[ii].address,
948949
kern->accel_perf_mon[ii].bytes);
@@ -1056,7 +1057,7 @@ int acl_kernel_if_post_pll_config_init(acl_kernel_if *kern) {
10561057
kern->csr_version = version;
10571058
ACL_KERNEL_IF_DEBUG_MSG(kern,
10581059
"Read CSR version from kernel 0: Version = %u\n",
1059-
kern->csr_version);
1060+
kern->csr_version.value());
10601061
if (kern->csr_version < 5) {
10611062
// Register addresses are pushed back since previous versions
10621063
// doesn't have the start register
@@ -1190,7 +1191,7 @@ void acl_kernel_if_launch_kernel_on_custom_sof(
11901191
kern->io.printf(" currently in use, OR\n");
11911192
kern->io.printf(" b) The host can not communicate properly with the "
11921193
"compiled kernel.\n");
1193-
kern->io.printf("Saw version=%u, expected=%u.\n", kern->csr_version,
1194+
kern->io.printf("Saw version=%u, expected=%u.\n", kern->csr_version.value(),
11941195
CSR_VERSION_ID);
11951196
assert(0); // Assert here because no way to pass an error up to the user.
11961197
// clEnqueue has already returned.
@@ -1885,7 +1886,7 @@ int acl_kernel_if_get_profile_data(acl_kernel_if *kern, cl_uint accel_id,
18851886
data[i] = acl_kernel_if_get_profile_data_word(kern, accel_id);
18861887
ACL_KERNEL_IF_DEBUG_MSG(kern,
18871888
":: Read profile hardware:: Accelerator %d "
1888-
"profile_data word [%u] is 0x%016llx.\n",
1889+
"profile_data word [%" PRIu64 "] is 0x%016llx.\n",
18891890
accel_id, i, data[i]);
18901891
}
18911892

0 commit comments

Comments
 (0)