From: Paul Eggert Date: Thu, 16 Jan 2025 17:20:45 +0000 (-0800) Subject: sort: fix --debug buffer overrun X-Git-Tag: v9.6~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e07161d4af89dbf82311ca396ac0916aa90b7301;p=thirdparty%2Fcoreutils.git sort: fix --debug buffer overrun * src/sort.c (debug_key): Fix undefined behavior when a key ends before it starts. Problem reported by Bruno Haible . --- diff --git a/src/sort.c b/src/sort.c index 997566240d..0928fd57c0 100644 --- a/src/sort.c +++ b/src/sort.c @@ -2373,7 +2373,11 @@ debug_key (struct line const *line, struct keyfield const *key) if (key->sword != SIZE_MAX) beg = begfield (line, key); if (key->eword != SIZE_MAX) - lim = limfield (line, key); + { + lim = limfield (line, key); + /* Treat field ends before field starts as empty fields. */ + lim = MAX (beg, lim); + } if ((key->skipsblanks && key->sword == SIZE_MAX) || key->month || key_numeric (key))