summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorJacques Vidrine <nectar@FreeBSD.org>2004-09-30 17:49:15 +0000
committerJacques Vidrine <nectar@FreeBSD.org>2004-09-30 17:49:15 +0000
commitae105f029cc528907ef273282bbe425fa7517d95 (patch)
tree121c613995efc5a61101d0eef6dc88c4c2e11609 /sys/dev
parent7d5d9d24e259227a07b6d0934c968390af256856 (diff)
Notes
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/syscons/syscons.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c
index c24995d2dff9..d5f76e527c10 100644
--- a/sys/dev/syscons/syscons.c
+++ b/sys/dev/syscons/syscons.c
@@ -854,14 +854,16 @@ scioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag, struct thread *td)
scrshot_t *ptr = (scrshot_t *)data;
void *outp = ptr->buf;
+ if (ptr->x < 0 || ptr->y < 0 || ptr->xsize < 0 || ptr->ysize < 0)
+ return EINVAL;
s = spltty();
if (ISGRAPHSC(scp)) {
splx(s);
return EOPNOTSUPP;
}
hist_rsz = (scp->history != NULL) ? scp->history->vtb_rows : 0;
- if ((ptr->x + ptr->xsize) > scp->xsize ||
- (ptr->y + ptr->ysize) > (scp->ysize + hist_rsz)) {
+ if (((u_int)ptr->x + ptr->xsize) > scp->xsize ||
+ ((u_int)ptr->y + ptr->ysize) > (scp->ysize + hist_rsz)) {
splx(s);
return EINVAL;
}