[PATCH 0/9] Fix unaligned access bugs, address cppcheck complaints, upgrade CI images

0 views
Skip to first unread message

Jan Kiszka

unread,
May 14, 2025, 4:15:04 PMMay 14
to efibootg...@googlegroups.com
While this started with a broken Coverity and the plan to "quickly"
update the CI base images to latest LTS Ubuntu to fix this, it ended up
in finding some remaining unaligned accesses that may break ARM targets.
However, the majority of changes in this series are related to more
picky cppcheck when using a newer version and a lot of const pointers.
See patches for details.

Jan

Jan Kiszka (9):
uservars: Avoid alignment errors while accessing uservar structures
drivers: w83627hf_wdt: Remove return code from non-failing functions
drivers: Resolve constParameterPointer and configVariablePointer
suggestions of ccpcheck
kernel-stub: Follow constVariablePointer suggestions of ccpcheck
utils: Follow constParameterPointer and constVariablePointer
suggestions of ccpcheck
env: Follow constParameterPointer and constVariablePointer suggestions
of ccpcheck
tools: Follow const*Pointer and variableScope suggestions of ccpcheck
ci: Update to Ubuntu 24.04
scripts: Update cppcheck invocation

.github/workflows/coverity.yaml | 4 +-
.github/workflows/main.yaml | 58 +++++++++++-----------
drivers/watchdog/eiois200_wdt.c | 2 +-
drivers/watchdog/ipmi_wdt.c | 4 +-
drivers/watchdog/w83627hf_wdt.c | 37 ++++----------
env/env_api.c | 14 +++---
env/env_api_fat.c | 14 +++---
env/env_config_file.c | 4 +-
env/env_config_partitions.c | 10 ++--
env/env_disk_utils.c | 6 +--
env/uservars.c | 24 +++++----
include/ebgenv.h | 12 ++---
include/ebgpart.h | 2 +-
include/env_api.h | 10 ++--
include/env_config_file.h | 4 +-
include/env_disk_utils.h | 2 +-
include/test-interface.h | 4 +-
include/uservars.h | 10 ++--
include/utils.h | 2 +-
kernel-stub/initrd.c | 2 +-
kernel-stub/main.c | 2 +-
scripts/cppcheck.sh | 7 +--
tools/bg_envtools.c | 12 ++---
tools/bg_envtools.h | 10 ++--
tools/bg_printenv.c | 11 ++--
tools/bg_setenv.c | 12 +++--
tools/ebgpart.c | 13 ++---
tools/tests/test_ebgenv_api.c | 12 ++---
tools/tests/test_ebgenv_api_internal.c | 16 +++---
tools/tests/test_probe_config_file.c | 8 +--
tools/tests/test_probe_config_partitions.c | 2 +-
tools/tests/test_uservars.c | 6 +--
utils.c | 4 +-
33 files changed, 164 insertions(+), 176 deletions(-)

--
2.43.0

Jan Kiszka

unread,
May 14, 2025, 4:15:05 PMMay 14
to efibootg...@googlegroups.com
From: Jan Kiszka <jan.k...@siemens.com>

constParameter is now constParameterCallback, but nothing changed about
the reason to apply it.

Furthermore, this suppresses

tools/tests/fake_devices.c:24:0: style: The function 'allocate_fake_devices' is never used. [unusedFunction]
void allocate_fake_devices(int n)
^
tools/tests/fake_devices.c:53:0: style: The function 'add_fake_partition' is never used. [unusedFunction]
void add_fake_partition(int devnum)
^
tools/tests/fake_devices.c:101:0: style: The function 'ped_device_get_next_custom_fake' is never used. [unusedFunction]
PedDevice *ped_device_get_next_custom_fake(const PedDevice *dev)
^

Signed-off-by: Jan Kiszka <jan.k...@siemens.com>
---
scripts/cppcheck.sh | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/scripts/cppcheck.sh b/scripts/cppcheck.sh
index 75feab4..0bd1310 100755
--- a/scripts/cppcheck.sh
+++ b/scripts/cppcheck.sh
@@ -29,6 +29,7 @@ suppress+=" --suppress=unusedFunction:kernel-stub/main.c"
suppress+=" --suppress=unusedFunction:utils.c"
suppress+=" --suppress=unusedFunction:env/env_api.c"
suppress+=" --suppress=unusedFunction:env/fatvars.c"
+suppress+=" --suppress=unusedFunction:tools/tests/fake_devices.c"
suppress+=" --suppress=unusedFunction:tools/tests/test_environment.c"
suppress+=" --suppress=unusedFunction:env/env_api_fat.c"
# Some functions are used by linker wrapping
@@ -44,9 +45,9 @@ suppress+=" --suppress=nullPointerRedundantCheck:kernel-stub/main.c"
suppress+=" --suppress=unusedStructMember:kernel-stub/main.c"
suppress+=" --suppress=unusedStructMember:kernel-stub/fdt.c"
# Not applicable because of API requirements
-suppress+=" --suppress=constParameter:drivers/watchdog/ipc4x7e_wdt.c"
-suppress+=" --suppress=constParameter:drivers/watchdog/w83627hf_wdt.c"
-suppress+=" --suppress=constParameter:kernel-stub/initrd.c"
+suppress+=" --suppress=constParameterCallback:drivers/watchdog/ipc4x7e_wdt.c"
+suppress+=" --suppress=constParameterCallback:drivers/watchdog/w83627hf_wdt.c"
+suppress+=" --suppress=constParameterCallback:kernel-stub/initrd.c"

enable="--enable=warning \
--enable=style \
--
2.43.0

Jan Kiszka

unread,
May 14, 2025, 4:15:05 PMMay 14
to efibootg...@googlegroups.com
From: Jan Kiszka <jan.k...@siemens.com>

Specifically 20.04 is now no longer available on GitHub. The update of
tools motivated all the const*Pointer changes and revealed the alignment
issue.

Signed-off-by: Jan Kiszka <jan.k...@siemens.com>
---
.github/workflows/coverity.yaml | 4 +--
.github/workflows/main.yaml | 58 ++++++++++++++++-----------------
2 files changed, 31 insertions(+), 31 deletions(-)

diff --git a/.github/workflows/coverity.yaml b/.github/workflows/coverity.yaml
index 1de3a6e..c23c181 100644
--- a/.github/workflows/coverity.yaml
+++ b/.github/workflows/coverity.yaml
@@ -1,7 +1,7 @@
#
# EFI Boot Guard
#
-# Copyright (c) Siemens AG, 2021-2023
+# Copyright (c) Siemens AG, 2021-2025
#
# Authors:
# Claudius Heine <c...@denx.de>
@@ -22,7 +22,7 @@ on:

jobs:
build:
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml
index faa5492..4e55d10 100644
--- a/.github/workflows/main.yaml
+++ b/.github/workflows/main.yaml
@@ -1,7 +1,7 @@
#
# EFI Boot Guard
#
-# Copyright (c) Siemens AG, 2021-2023
+# Copyright (c) Siemens AG, 2021-2025
#
# Authors:
# Claudius Heine <c...@denx.de>
@@ -22,7 +22,7 @@ on:

jobs:
build:
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
strategy:
matrix:
target:
@@ -57,55 +57,55 @@ jobs:
if: ${{ matrix.target == 'arm64' }}
run: |
sudo dpkg --add-architecture arm64
- sudo sed -i 's/^deb /deb [arch=amd64] /g' /etc/apt/sources.list
- sudo sh -c "cat <<EOF > /etc/apt/sources.list.d/ports.list
- deb [arch=arm64] http://ports.ubuntu.com/ jammy main restricted
- deb [arch=arm64] http://ports.ubuntu.com/ jammy-updates main restricted
- deb [arch=arm64] http://ports.ubuntu.com/ jammy universe
- deb [arch=arm64] http://ports.ubuntu.com/ jammy-updates universe
- deb [arch=arm64] http://ports.ubuntu.com/ jammy multiverse
- deb [arch=arm64] http://ports.ubuntu.com/ jammy-updates multiverse
+ sudo sed -i 's/\(^Signed-By:.*\)/\1\nArchitectures: amd64/g' /etc/apt/sources.list.d/ubuntu.sources
+ sudo sh -c "cat <<EOF > /etc/apt/sources.list.d/ports.sources
+ Types: deb
+ URIs: http://ports.ubuntu.com/ubuntu-ports/
+ Suites: noble noble-updates noble-security
+ Components: main restricted universe multiverse
+ Architectures: arm64
+ Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
EOF"
sudo apt-get update
sudo apt-get install --no-install-recommends \
autoconf-archive gcc-aarch64-linux-gnu libc6-dev-arm64-cross \
- gnu-efi:arm64 libpci-dev:arm64 check:arm64 \
+ gnu-efi:arm64 libpci-dev:arm64 pkg-config:arm64 check:arm64 \
qemu-user-static
- name: Install arm dependencies
if: ${{ matrix.target == 'arm' }}
run: |
sudo dpkg --add-architecture armhf
- sudo sed -i 's/^deb /deb [arch=amd64] /g' /etc/apt/sources.list
- sudo sh -c "cat <<EOF > /etc/apt/sources.list.d/ports.list
- deb [arch=armhf] http://ports.ubuntu.com/ jammy main restricted
- deb [arch=armhf] http://ports.ubuntu.com/ jammy-updates main restricted
- deb [arch=armhf] http://ports.ubuntu.com/ jammy universe
- deb [arch=armhf] http://ports.ubuntu.com/ jammy-updates universe
- deb [arch=armhf] http://ports.ubuntu.com/ jammy multiverse
- deb [arch=armhf] http://ports.ubuntu.com/ jammy-updates multiverse
+ sudo sed -i 's/\(^Signed-By:.*\)/\1\nArchitectures: amd64/g' /etc/apt/sources.list.d/ubuntu.sources
+ sudo sh -c "cat <<EOF > /etc/apt/sources.list.d/ports.sources
+ Types: deb
+ URIs: http://ports.ubuntu.com/ubuntu-ports/
+ Suites: noble noble-updates noble-security
+ Components: main restricted universe multiverse
+ Architectures: armhf
+ Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
EOF"
sudo apt-get update
sudo apt-get install --no-install-recommends \
autoconf-archive gcc-arm-linux-gnueabihf libc6-dev-armhf-cross \
- gnu-efi:armhf libpci-dev:armhf check:armhf \
+ gnu-efi:armhf libpci-dev:armhf pkg-config:armhf check:armhf \
qemu-user-static
- name: Install riscv64 dependencies
if: ${{ matrix.target == 'riscv64' }}
run: |
sudo dpkg --add-architecture riscv64
- sudo sed -i 's/^deb /deb [arch=amd64] /g' /etc/apt/sources.list
- sudo sh -c "cat <<EOF > /etc/apt/sources.list.d/ports.list
- deb [arch=riscv64] http://ports.ubuntu.com/ jammy main restricted
- deb [arch=riscv64] http://ports.ubuntu.com/ jammy-updates main restricted
- deb [arch=riscv64] http://ports.ubuntu.com/ jammy universe
- deb [arch=riscv64] http://ports.ubuntu.com/ jammy-updates universe
- deb [arch=riscv64] http://ports.ubuntu.com/ jammy multiverse
- deb [arch=riscv64] http://ports.ubuntu.com/ jammy-updates multiverse
+ sudo sed -i 's/\(^Signed-By:.*\)/\1\nArchitectures: amd64/g' /etc/apt/sources.list.d/ubuntu.sources
+ sudo sh -c "cat <<EOF > /etc/apt/sources.list.d/ports.sources
+ Types: deb
+ URIs: http://ports.ubuntu.com/ubuntu-ports/
+ Suites: noble noble-updates noble-security
+ Components: main restricted universe multiverse
+ Architectures: riscv64
+ Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
EOF"
sudo apt-get update
sudo apt-get install --no-install-recommends \
autoconf-archive gcc-riscv64-linux-gnu libc6-dev-riscv64-cross \
- gnu-efi:riscv64 libpci-dev:riscv64 check:riscv64 \
+ gnu-efi:riscv64 libpci-dev:riscv64 pkg-config:riscv64 check:riscv64 \
qemu-user-static
- name: Install cppcheck
if: ${{ matrix.target == 'cppcheck' }}
--
2.43.0

Jan Kiszka

unread,
May 14, 2025, 4:15:05 PMMay 14
to efibootg...@googlegroups.com
From: Jan Kiszka <jan.k...@siemens.com>

Signed-off-by: Jan Kiszka <jan.k...@siemens.com>
---
include/ebgpart.h | 2 +-
tools/bg_envtools.c | 12 ++++++------
tools/bg_envtools.h | 10 +++++-----
tools/bg_printenv.c | 11 ++++++-----
tools/bg_setenv.c | 12 +++++++-----
tools/ebgpart.c | 13 +++++++------
tools/tests/test_ebgenv_api.c | 12 ++++++------
tools/tests/test_ebgenv_api_internal.c | 16 ++++++++--------
tools/tests/test_probe_config_file.c | 2 +-
tools/tests/test_probe_config_partitions.c | 2 +-
tools/tests/test_uservars.c | 6 +++---
11 files changed, 51 insertions(+), 47 deletions(-)

diff --git a/include/ebgpart.h b/include/ebgpart.h
index 308928b..0611bfe 100644
--- a/include/ebgpart.h
+++ b/include/ebgpart.h
@@ -133,7 +133,7 @@ typedef struct _PedDisk {
PedPartition *part_list;
} PedDisk;

-void ped_device_probe_all(char *rootdev);
+void ped_device_probe_all(const char *rootdev);
PedDevice *ped_device_get_next(const PedDevice *dev);
PedDisk *ped_disk_new(const PedDevice *dev);
PedPartition *ped_disk_next_partition(const PedDisk *pd,
diff --git a/tools/bg_envtools.c b/tools/bg_envtools.c
index 6d7c1cd..7f24c57 100644
--- a/tools/bg_envtools.c
+++ b/tools/bg_envtools.c
@@ -19,9 +19,9 @@

#include "bg_envtools.h"

-static char *ustatemap[] = {"OK", "INSTALLED", "TESTING", "FAILED", "UNKNOWN"};
+static const char *ustatemap[] = {"OK", "INSTALLED", "TESTING", "FAILED", "UNKNOWN"};

-char *ustate2str(uint8_t ustate)
+const char *ustate2str(uint8_t ustate)
{
if (ustate > USTATE_MAX) {
ustate = USTATE_MAX;
@@ -29,7 +29,7 @@ char *ustate2str(uint8_t ustate)
return ustatemap[ustate];
}

-uint8_t str2ustate(char *str)
+uint8_t str2ustate(const char *str)
{
uint8_t i;

@@ -44,7 +44,7 @@ uint8_t str2ustate(char *str)
return USTATE_UNKNOWN;
}

-int parse_int(char *arg)
+int parse_int(const char *arg)
{
char *tmp;
long i;
@@ -61,7 +61,7 @@ int parse_int(char *arg)
return (int)i;
}

-error_t parse_common_opt(int key, char *arg, bool compat_mode,
+error_t parse_common_opt(int key, const char *arg, bool compat_mode,
struct arguments_common *arguments)
{
bool found = false;
@@ -136,7 +136,7 @@ error_t parse_common_opt(int key, char *arg, bool compat_mode,
return 0;
}

-bool get_env(char *configfilepath, BG_ENVDATA *data)
+bool get_env(const char *configfilepath, BG_ENVDATA *data)
{
FILE *config;
bool result = true;
diff --git a/tools/bg_envtools.h b/tools/bg_envtools.h
index bdb73fd..c799071 100644
--- a/tools/bg_envtools.h
+++ b/tools/bg_envtools.h
@@ -52,14 +52,14 @@ struct arguments_common {
bool search_all_devices;
};

-int parse_int(char *arg);
+int parse_int(const char *arg);

-char *ustate2str(uint8_t ustate);
-uint8_t str2ustate(char *str);
+const char *ustate2str(uint8_t ustate);
+uint8_t str2ustate(const char *str);

-error_t parse_common_opt(int key, char *arg, bool compat_mode,
+error_t parse_common_opt(int key, const char *arg, bool compat_mode,
struct arguments_common *arguments);

-bool get_env(char *configfilepath, BG_ENVDATA *data);
+bool get_env(const char *configfilepath, BG_ENVDATA *data);

#endif
diff --git a/tools/bg_printenv.c b/tools/bg_printenv.c
index 80de0fc..e8c095f 100644
--- a/tools/bg_printenv.c
+++ b/tools/bg_printenv.c
@@ -48,7 +48,8 @@ const struct fields ALL_FIELDS = {1, 1, 1, 1, 1, 1, 1};

static error_t parse_output_fields(char *fields, struct fields *output_fields)
{
- char *token;
+ const char *token;
+
memset(output_fields, 0, sizeof(struct fields));
while ((token = strsep(&fields, ","))) {
if (*token == '\0') continue;
@@ -167,7 +168,7 @@ void dump_env(BG_ENVDATA *env, const struct fields *output_fields, bool raw)
}
}
if (output_fields->kernel) {
- char *kernelfile = str16to8(buffer, env->kernelfile);
+ const char *kernelfile = str16to8(buffer, env->kernelfile);
if (raw) {
fprintf(stdout, "KERNEL=%s\n", kernelfile);
} else {
@@ -175,7 +176,7 @@ void dump_env(BG_ENVDATA *env, const struct fields *output_fields, bool raw)
}
}
if (output_fields->kernelargs) {
- char *kernelargs = str16to8(buffer, env->kernelparams);
+ const char *kernelargs = str16to8(buffer, env->kernelparams);
if (raw) {
fprintf(stdout, "KERNELARGS=%s\n", kernelargs);
} else {
@@ -253,8 +254,8 @@ static void dump_env_by_index(uint32_t index, struct fields output_fields,
bgenv_close(env);
}

-static int printenv_from_file(char *envfilepath, const struct fields *output_fields,
- bool raw)
+static int printenv_from_file(const char *envfilepath,
+ const struct fields *output_fields, bool raw)
{
int success = 0;
BG_ENVDATA data;
diff --git a/tools/bg_setenv.c b/tools/bg_setenv.c
index 1ec0dba..f75c4ec 100644
--- a/tools/bg_setenv.c
+++ b/tools/bg_setenv.c
@@ -79,8 +79,9 @@ static void journal_free_action(struct env_action *action)
free(action);
}

-static error_t journal_add_action(BGENV_TASK task, char *key, uint64_t type,
- uint8_t *data, size_t datalen)
+static error_t journal_add_action(BGENV_TASK task, const char *key,
+ uint64_t type, const uint8_t *data,
+ size_t datalen)
{
struct env_action *new_action;

@@ -123,8 +124,8 @@ static void journal_process_action(BGENV *env, struct env_action *action)
action->key, (long long unsigned int)action->type,
(char *)action->data);
if (strcmp(action->key, "ustate") == 0) {
+ const char *arg;
int ustate;
- char *arg;
int ret;
e.bgenv = env;
arg = (char *)action->data;
@@ -152,7 +153,7 @@ static void journal_process_action(BGENV *env, struct env_action *action)

static error_t set_uservars(char *arg)
{
- char *key, *value;
+ const char *key, *value;

key = strtok(arg, "=");
if (key == NULL) {
@@ -329,7 +330,8 @@ static void update_environment(BGENV *env, bool verbosity)

}

-static int dumpenv_to_file(char *envfilepath, bool verbosity, bool preserve_env)
+static int dumpenv_to_file(const char *envfilepath, bool verbosity,
+ bool preserve_env)
{
/* execute journal and write to file */
int result = 0;
diff --git a/tools/ebgpart.c b/tools/ebgpart.c
index 912f642..30c2f00 100644
--- a/tools/ebgpart.c
+++ b/tools/ebgpart.c
@@ -85,7 +85,7 @@ static EbgFileSystemType type_to_fstype(char t)
**/
static int check_GPT_FAT_entry(int fd, const struct EFIpartitionentry *e)
{
- char *guid_str = GUID_to_str(e->type_GUID);
+ const char *guid_str = GUID_to_str(e->type_GUID);
if (strcmp(GPT_PARTITION_GUID_FAT_NTFS, guid_str) != 0 &&
strcmp(GPT_PARTITION_GUID_ESP, guid_str) != 0) {
VERBOSE(stderr, "GPT entry has unsupported GUID: %s\n",
@@ -359,7 +359,7 @@ static int scan_devdir(unsigned int fmajor, unsigned int fminor, char *fullname,
return result;
}
while (true) {
- struct dirent *devfile = readdir(devdir);
+ const struct dirent *devfile = readdir(devdir);
if (!devfile) {
break;
}
@@ -382,7 +382,8 @@ static int scan_devdir(unsigned int fmajor, unsigned int fminor, char *fullname,
return result;
}

-static int get_major_minor(char *filename, unsigned int *major, unsigned int *minor)
+static int get_major_minor(const char *filename, unsigned int *major,
+ unsigned int *minor)
{
FILE *fh = fopen(filename, "r");
if (fh == 0) {
@@ -400,9 +401,9 @@ static int get_major_minor(char *filename, unsigned int *major, unsigned int *mi
return 0;
}

-void ped_device_probe_all(char *rootdev)
+void ped_device_probe_all(const char *rootdev)
{
- struct dirent *sysblockfile = NULL;
+ const struct dirent *sysblockfile = NULL;
char fullname[DEV_FILENAME_LEN+16];

DIR *sysblockdir = opendir(SYSBLOCKDIR);
@@ -413,7 +414,7 @@ void ped_device_probe_all(char *rootdev)

/* get all files from sysblockdir */
do {
- char *devname = rootdev;
+ const char *devname = rootdev;
if (!rootdev) {
sysblockfile = readdir(sysblockdir);
if (!sysblockfile) {
diff --git a/tools/tests/test_ebgenv_api.c b/tools/tests/test_ebgenv_api.c
index bdc5b17..7a41490 100644
--- a/tools/tests/test_ebgenv_api.c
+++ b/tools/tests/test_ebgenv_api.c
@@ -116,8 +116,8 @@ START_TEST(ebgenv_api_ebg_env_create_new)
ebgenv_t e = { };
int ret;
char buffer[10];
- char *kernelfile = "kernel123";
- char *kernelparams = "param456";
+ const char *kernelfile = "kernel123";
+ const char *kernelparams = "param456";
int watchdogtimeout = 44;

init_test();
@@ -292,7 +292,7 @@ END_TEST
START_TEST(ebgenv_api_ebg_env_set)
{
ebgenv_t e = { };
- char *value = "dummy";
+ const char *value = "dummy";

init_test();

@@ -323,8 +323,8 @@ START_TEST(ebgenv_api_ebg_env_set_ex)
{

ebgenv_t e = { };
- char *key = "mykey";
- char *value = "dummy";
+ const char *key = "mykey";
+ const char *value = "dummy";
uint64_t usertype = 1ULL << 36;
int32_t datalen = 5;

@@ -359,7 +359,7 @@ END_TEST
START_TEST(ebgenv_api_ebg_env_get_ex)
{
ebgenv_t e = { };
- char *key = "mykey";
+ const char *key = "mykey";
char buffer[5];
uint64_t type;
int32_t datalen = 5;
diff --git a/tools/tests/test_ebgenv_api_internal.c b/tools/tests/test_ebgenv_api_internal.c
index 990688d..d7c6189 100644
--- a/tools/tests/test_ebgenv_api_internal.c
+++ b/tools/tests/test_ebgenv_api_internal.c
@@ -43,12 +43,12 @@ BG_ENVDATA envdata[ENV_NUM_CONFIG_PARTS];

START_TEST(ebgenv_api_internal_strXtoY)
{
- char16_t *exp_res = L"This is a test";
+ const char16_t *exp_res = L"This is a test";
char16_t bufferw[16];
char buffer[16];
- char *input = "This is a test";
- char16_t *resw;
- char *res;
+ const char *input = "This is a test";
+ const char16_t *resw;
+ const char *res;

/* Test conversion from ASCII bits to 16 bit encoding
*/
@@ -231,7 +231,7 @@ START_TEST(ebgenv_api_internal_bgenv_read)

/* Test if bgenv_read returns a pointer to the environment data
*/
- BG_ENVDATA *res = bgenv_read(&env);
+ const BG_ENVDATA *res = bgenv_read(&env);
ck_assert(res == env.data);
}
END_TEST
@@ -350,7 +350,7 @@ START_TEST(ebgenv_api_internal_bgenv_set)
ck_assert_int_eq(res, 0);

char buffer[8];
- char *kfile = str16to8(buffer, handle->data->kernelfile);
+ const char *kfile = str16to8(buffer, handle->data->kernelfile);

ck_assert(strcmp(kfile, "vmlinuz") == 0);

@@ -365,7 +365,7 @@ START_TEST(ebgenv_api_internal_bgenv_set)
res = bgenv_set(handle, "kernelparams", 0, "root=", 6);
ck_assert_int_eq(res, 0);

- char *kparm = str16to8(buffer, handle->data->kernelparams);
+ const char *kparm = str16to8(buffer, handle->data->kernelparams);

ck_assert(strcmp(kparm, "root=") == 0);

@@ -398,7 +398,7 @@ START_TEST(ebgenv_api_internal_uservars)
ck_assert(handle->data != NULL);

uint64_t type;
- uint8_t *data;
+ const uint8_t *data;
/* Test a user variable using a user-defined data type
*/
type = 1ULL << 36;
diff --git a/tools/tests/test_probe_config_file.c b/tools/tests/test_probe_config_file.c
index cb3e065..ca0faf6 100644
--- a/tools/tests/test_probe_config_file.c
+++ b/tools/tests/test_probe_config_file.c
@@ -132,7 +132,7 @@ void delete_temp_files(void)
}
}

-FAKE_VOID_FUNC(ped_device_probe_all, char *);
+FAKE_VOID_FUNC(ped_device_probe_all, const char *);
FAKE_VALUE_FUNC(PedDevice *, ped_device_get_next, const PedDevice *);
FAKE_VALUE_FUNC(char *, get_mountpoint, const char *);

diff --git a/tools/tests/test_probe_config_partitions.c b/tools/tests/test_probe_config_partitions.c
index a98794a..756a9cb 100644
--- a/tools/tests/test_probe_config_partitions.c
+++ b/tools/tests/test_probe_config_partitions.c
@@ -37,7 +37,7 @@ bool read_env_custom_fake(CONFIG_PART *cp, BG_ENVDATA *env)
}

FAKE_VALUE_FUNC(bool, read_env, CONFIG_PART *, BG_ENVDATA *);
-FAKE_VOID_FUNC(ped_device_probe_all, char *);
+FAKE_VOID_FUNC(ped_device_probe_all, const char *);
FAKE_VALUE_FUNC(PedDevice *, ped_device_get_next, const PedDevice *);

START_TEST(env_api_fat_test_probe_config_partitions)
diff --git a/tools/tests/test_uservars.c b/tools/tests/test_uservars.c
index 33bc148..e0a4779 100644
--- a/tools/tests/test_uservars.c
+++ b/tools/tests/test_uservars.c
@@ -31,14 +31,14 @@ BG_ENVDATA envdata[ENV_NUM_CONFIG_PARTS];

START_TEST(bgenv_get_from_manipulated)
{
- char *key = "mykey";
- char *value = "dummy";
- size_t value_len = strlen(value);
+ const char *key = "mykey";
uint64_t usertype = 1ULL << 36;

BG_ENVDATA data = {.ustate = USTATE_OK};
/* create a manipulated BGENV (in-memory) */
{
+ const char *value = "dummy";
+ size_t value_len = strlen(value);
bgenv_set_uservar(data.userdata, key, usertype, value,
value_len);
/* get position of payload size */
--
2.43.0

Reply all
Reply to author
Forward
0 new messages