findutils/ftsfind.c-avoid-buffer-overflow-in-D-code.patch
2019-09-30 10:38:48 -04:00

42 lines
1.3 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

From c7344d33587bc5b781b958315c643284e2e9cf18 Mon Sep 17 00:00:00 2001
From: Bernhard Voelker <mail@bernhard-voelker.de>
Date: Sun, 8 Jul 2018 00:18:03 +0200
Subject: [PATCH 178/224] ftsfind.c: avoid buffer overflow in -D code
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Reported by GCC 8.1.1:
ftsfind.c: In function get_fts_info_name:
ftsfind.c:164:23: warning: %d directive writing between 1 and 11 bytes into a region of size 9 [-Wformat-overflow=]
sprintf (buf, "[%d]", info);
^~
ftsfind.c:164:7: note: sprintf output between 4 and 14 bytes into a destination of size 10
sprintf (buf, "[%d]", info);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
* find/ftsfind.c (get_fts_info_name): Increase buffer from 10 to 14
to be able to hold the 11-char string representation of the %d format,
the surrounding '[' and ']', plus the terminating NULL character.
---
find/ftsfind.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/find/ftsfind.c b/find/ftsfind.c
index 607ea8d3..57804950 100644
--- a/find/ftsfind.c
+++ b/find/ftsfind.c
@@ -143,7 +143,7 @@ static void init_mounted_dev_list (void);
static const char *
get_fts_info_name (int info)
{
- static char buf[10];
+ static char buf[14];
switch (info)
{
HANDLECASE(FTS_D);
--
2.19.1