summaryrefslogtreecommitdiffstats
path: root/contrib/top
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>1997-12-04 02:54:05 +0000
committerimp <imp@FreeBSD.org>1997-12-04 02:54:05 +0000
commitd06debb088318cefea304bdcc695e7a060a6cdd2 (patch)
tree76b730f5ed1a18d2186767c275039339c5fd67ce /contrib/top
parentc184b142915986a82e72586fbe35f58d11e84a38 (diff)
downloadFreeBSD-src-d06debb088318cefea304bdcc695e7a060a6cdd2.zip
FreeBSD-src-d06debb088318cefea304bdcc695e7a060a6cdd2.tar.gz
Buffer overflow from bitblt's commit to OpenBSD. Committed here for lack
of a better place to do it. Reviewed by: joerge Obtained from: OpenBSD
Diffstat (limited to 'contrib/top')
-rw-r--r--contrib/top/screen.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/contrib/top/screen.c b/contrib/top/screen.c
index b5d0388..531a4f3 100644
--- a/contrib/top/screen.c
+++ b/contrib/top/screen.c
@@ -204,7 +204,8 @@ int interactive;
PC = (PCptr = tgetstr("pc", &bufptr)) ? *PCptr : 0;
/* set convenience strings */
- (void) strcpy(home, tgoto(cursor_motion, 0, 0));
+ (void) strncpy(home, tgoto(cursor_motion, 0, 0), sizeof(home) - 1);
+ home[sizeof(home) - 1] = '\0';
/* (lower_left is set in get_screensize) */
/* get the actual screen size with an ioctl, if needed */
@@ -420,7 +421,9 @@ get_screensize()
#endif /* TIOCGSIZE */
#endif /* TIOCGWINSZ */
- (void) strcpy(lower_left, tgoto(cursor_motion, 0, screen_length - 1));
+ (void) strncpy(lower_left, tgoto(cursor_motion, 0, screen_length - 1),
+ sizeof(lower_left) - 1);
+ lower_left[sizeof(lower_left) - 1] = '\0';
}
standout(msg)
OpenPOWER on IntegriCloud