diff options
author | Petr Štetiar <ynezz@true.cz> | 2020-01-18 20:32:55 +0300 |
---|---|---|
committer | Petr Štetiar <ynezz@true.cz> | 2020-01-20 18:54:10 +0300 |
commit | 5c0faaf4f5e26180dcc31b7e8558d57426d84085 (patch) | |
tree | 332940834d2e8ec9a8e9ac219db908d9188b2834 /tests/test-b64.c | |
parent | 1ffa41535369f5bb67d1eb5bdcb306671ca1d2e4 (diff) |
tests: prefer dynamically allocated buffers
Help detecting Valgrind OOB reads and other issues.
Conditional jump or move depends on uninitialised value(s)
at 0x5452886: blobmsg_parse (blobmsg.c:203)
by 0x400A8E: test_blobmsg (tests/test-blobmsg-parse.c:66)
by 0x400A8E: main (tests/test-blobmsg-parse.c:82)
Conditional jump or move depends on uninitialised value(s)
at 0x545247F: blobmsg_check_name (blobmsg.c:39)
by 0x545247F: blobmsg_check_attr_len (blobmsg.c:79)
by 0x5452710: blobmsg_parse_array (blobmsg.c:159)
by 0x400AB8: test_blobmsg (tests/test-blobmsg-parse.c:69)
by 0x400AB8: main (tests/test-blobmsg-parse.c:82)
Conditional jump or move depends on uninitialised value(s)
at 0x54524A0: blobmsg_check_name (blobmsg.c:42)
by 0x54524A0: blobmsg_check_attr_len (blobmsg.c:79)
by 0x5452710: blobmsg_parse_array (blobmsg.c:159)
by 0x400AB8: test_blobmsg (tests/test-blobmsg-parse.c:69)
by 0x400AB8: main (tests/test-blobmsg-parse.c:82)
Ref: http://lists.infradead.org/pipermail/openwrt-devel/2020-January/021204.html
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Diffstat (limited to 'tests/test-b64.c')
-rw-r--r-- | tests/test-b64.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/tests/test-b64.c b/tests/test-b64.c index c29b4e2..d33ad0d 100644 --- a/tests/test-b64.c +++ b/tests/test-b64.c @@ -1,20 +1,25 @@ #include <stdio.h> #include <string.h> +#include <stdlib.h> #include "utils.h" +#define BUF_LEN 255 + static void test_b64_encode(const char *src) { - char dst[255] = {0}; - int r = b64_encode(src, strlen(src), dst, sizeof(dst)); + char *dst = malloc(BUF_LEN+1); + int r = b64_encode(src, strlen(src), dst, BUF_LEN); fprintf(stdout, "%d %s\n", r, dst); + free(dst); } static void test_b64_decode(const char *src) { - char dst[255] = {0}; - int r = b64_decode(src, dst, sizeof(dst)); + char *dst = malloc(BUF_LEN+1); + int r = b64_decode(src, dst, BUF_LEN); fprintf(stdout, "%d %s\n", r, dst); + free(dst); } int main() |