diff --git a/src/tools/opensc-explorer.c b/src/tools/opensc-explorer.c index 41e620a..57f8a79 100644 --- a/src/tools/opensc-explorer.c +++ b/src/tools/opensc-explorer.c @@ -1839,6 +1839,12 @@ static int do_apdu(int argc, char **argv) if (argc < 1) return usage(do_apdu); + /* gcc-11 complains about BUF potentially being used without being + initialized. I can't convince myself that the calls to + parse_string_or_hexdata will fully initialize it, so we just + initialize it here. */ + memset (buf, 0, sizeof (buf)); + /* loop over the args and parse them, making sure the result fits into buf[] */ for (i = 0, len = 0; i < (unsigned) argc && len < sizeof(buf); i++) { size_t len0 = sizeof(buf) - len;