From 1a3a57d74590bb44e96629aec35897b475bd69fa Mon Sep 17 00:00:00 2001 From: Alex Richardson Date: Wed, 16 Jun 2021 16:28:27 +0100 Subject: [PATCH] kdump: use VIS_NOLOCALE when printing output Attempting to parse the output as UTF-8 exposed an out-of-bounds read in vis(3) (see https://reviews.freebsd.org/D30771). However, I don't think it makes much sense to decode this output at all. Additionally, passing one byte at a time will almost certainly result in incorrect output for multi-byte characters. Reviewed By: brooks MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D30772 --- usr.bin/kdump/kdump.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/kdump/kdump.c b/usr.bin/kdump/kdump.c index 05988f43133e..d863fffea774 100644 --- a/usr.bin/kdump/kdump.c +++ b/usr.bin/kdump/kdump.c @@ -1638,7 +1638,7 @@ visdump(char *dp, int datalen, int screenwidth) printf(" \""); col = 8; for (;datalen > 0; datalen--, dp++) { - vis(visbuf, *dp, VIS_CSTYLE, *(dp+1)); + vis(visbuf, *dp, VIS_CSTYLE | VIS_NOLOCALE, *(dp+1)); cp = visbuf; /* * Keep track of printables and