Blob Blame History Raw
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;