Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/lib/libcurses wtouchln - verify/clip input parameters
details: https://anonhg.NetBSD.org/src/rev/02a774a018ae
branches: trunk
changeset: 973551:02a774a018ae
user: uwe <uwe%NetBSD.org@localhost>
date: Fri Jul 03 23:28:51 2020 +0000
description:
wtouchln - verify/clip input parameters
>From Naman Jain in PR lib/55454
diffstat:
lib/libcurses/touchwin.c | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diffs (34 lines):
diff -r d8f3b6c2fc8c -r 02a774a018ae lib/libcurses/touchwin.c
--- a/lib/libcurses/touchwin.c Fri Jul 03 22:40:55 2020 +0000
+++ b/lib/libcurses/touchwin.c Fri Jul 03 23:28:51 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: touchwin.c,v 1.31 2019/04/24 07:09:44 blymn Exp $ */
+/* $NetBSD: touchwin.c,v 1.32 2020/07/03 23:28:51 uwe Exp $ */
/*
* Copyright (c) 1981, 1993, 1994
@@ -34,7 +34,7 @@
#if 0
static char sccsid[] = "@(#)touchwin.c 8.2 (Berkeley) 5/4/94";
#else
-__RCSID("$NetBSD: touchwin.c,v 1.31 2019/04/24 07:09:44 blymn Exp $");
+__RCSID("$NetBSD: touchwin.c,v 1.32 2020/07/03 23:28:51 uwe Exp $");
#endif
#endif /* not lint */
@@ -177,8 +177,13 @@
__CTRACE(__CTRACE_LINE, "wtouchln: (%p) %d, %d, %d\n",
win, line, n, changed);
#endif
- if (line + n > win->maxy)
- line = win->maxy - n;
+ if (line < 0 || win->maxy <= line)
+ return ERR;
+ if (n < 0)
+ return ERR;
+ if (n > win->maxy - line)
+ n = win->maxy - line;
+
for (y = line; y < line + n; y++) {
if (changed == 1)
_cursesi_touchline_force(win, y, 0,
Home |
Main Index |
Thread Index |
Old Index