Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/usr.bin/indent indent: prevent buffer overflow when reading ...
details: https://anonhg.NetBSD.org/src/rev/8d0c68910560
branches: trunk
changeset: 988607:8d0c68910560
user: rillig <rillig%NetBSD.org@localhost>
date: Thu Oct 07 16:45:38 2021 +0000
description:
indent: prevent buffer overflow when reading profile
diffstat:
usr.bin/indent/args.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diffs (29 lines):
diff -r a995a8b0e4d5 -r 8d0c68910560 usr.bin/indent/args.c
--- a/usr.bin/indent/args.c Thu Oct 07 13:04:18 2021 +0000
+++ b/usr.bin/indent/args.c Thu Oct 07 16:45:38 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: args.c,v 1.43 2021/10/03 19:09:59 rillig Exp $ */
+/* $NetBSD: args.c,v 1.44 2021/10/07 16:45:38 rillig Exp $ */
/*-
* SPDX-License-Identifier: BSD-4-Clause
@@ -43,7 +43,7 @@
#include <sys/cdefs.h>
#if defined(__NetBSD__)
-__RCSID("$NetBSD: args.c,v 1.43 2021/10/03 19:09:59 rillig Exp $");
+__RCSID("$NetBSD: args.c,v 1.44 2021/10/07 16:45:38 rillig Exp $");
#elif defined(__FreeBSD__)
__FBSDID("$FreeBSD: head/usr.bin/indent/args.c 336318 2018-07-15 21:04:21Z pstef $");
#endif
@@ -164,6 +164,10 @@
} else if (isspace((unsigned char)ch)) {
if (p > buf && comment_index == 0)
break;
+ } else if ((size_t)(p - buf) >= nitems(buf) - 5) {
+ diag(1, "buffer overflow in %s, starting with '%.10s'",
+ option_source, buf);
+ exit(1);
} else {
*p++ = (char)ch;
}
Home |
Main Index |
Thread Index |
Old Index