Module Name: src Committed By: macallan Date: Thu Jan 25 14:45:58 UTC 2018
Modified Files: src/sys/arch/sparc/dev: cgfourteen.c Log Message: do boundary checks when writing cursor sprite colour registers To generate a diff of this commit: cvs rdiff -u -r1.84 -r1.85 src/sys/arch/sparc/dev/cgfourteen.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/sparc/dev/cgfourteen.c diff -u src/sys/arch/sparc/dev/cgfourteen.c:1.84 src/sys/arch/sparc/dev/cgfourteen.c:1.85 --- src/sys/arch/sparc/dev/cgfourteen.c:1.84 Fri Jan 12 23:38:24 2018 +++ src/sys/arch/sparc/dev/cgfourteen.c Thu Jan 25 14:45:58 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: cgfourteen.c,v 1.84 2018/01/12 23:38:24 macallan Exp $ */ +/* $NetBSD: cgfourteen.c,v 1.85 2018/01/25 14:45:58 macallan Exp $ */ /* * Copyright (c) 1996 @@ -1120,7 +1120,11 @@ cg14_do_cursor(struct cgfourteen_softc * if (cur->which & WSDISPLAY_CURSOR_DOCMAP) { int i; uint32_t val; - + + if ((cur->cmap.index > 2) || (cur->cmap.count > 3) || + (cur->cmap.index + cur->cmap.count > 3)) + return EINVAL; + for (i = 0; i < min(cur->cmap.count, 3); i++) { val = (cur->cmap.red[i] ) | (cur->cmap.green[i] << 8) |