summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Sutton <josephsutton@catalyst.net.nz>2022-10-12 15:28:15 +1300
committerAndreas Schneider <asn@cryptomilk.org>2024-02-04 11:08:17 +0100
commit2206c22515e788f7a43cde2162408081b3e8f6ae (patch)
treec10ba4edf65823ac185fa8b86b5b9ef9b86da236
parent90315882d6de183ab31b66b5008d4ca3d1fea140 (diff)
downloadcmocka-2206c22515e788f7a43cde2162408081b3e8f6ae.zip
cmocka-2206c22515e788f7a43cde2162408081b3e8f6ae.tar.gz
cmocka-2206c22515e788f7a43cde2162408081b3e8f6ae.tar.bz2
cmocka: Fix assert_memory_equal() display
The %x specifier expects an unsigned argument. If char is signed, cmocka_print_error() may incorrectly display values sign-extended. To fix this, use an unsigned char and the corresponding format specifier (%hhx). Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz> Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
-rw-r--r--src/cmocka.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/cmocka.c b/src/cmocka.c
index 9c1d7fc..0cbc342 100644
--- a/src/cmocka.c
+++ b/src/cmocka.c
@@ -1646,11 +1646,11 @@ static int memory_equal_display_error(const char* const a, const char* const b,
size_t differences = 0;
size_t i;
for (i = 0; i < size; i++) {
- const char l = a[i];
- const char r = b[i];
+ const unsigned char l = a[i];
+ const unsigned char r = b[i];
if (l != r) {
if (differences < 16) {
- cmocka_print_error("difference at offset %" PRIdS " 0x%02x 0x%02x\n",
+ cmocka_print_error("difference at offset %" PRIdS " 0x%02hhx 0x%02hhx\n",
i, l, r);
}
differences ++;