diff options
author | sam <sam@FreeBSD.org> | 2005-03-26 18:01:35 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2005-03-26 18:01:35 +0000 |
commit | d1426a3f0d8d59a29f5236ad92d60cdd60a9938d (patch) | |
tree | 3f17d6b758126ae99c1c0f0b2583917b8fd2d771 /sys/dev/fb | |
parent | 3c111664fba85c4ee50c32d224d0618404c002b7 (diff) | |
download | FreeBSD-src-d1426a3f0d8d59a29f5236ad92d60cdd60a9938d.zip FreeBSD-src-d1426a3f0d8d59a29f5236ad92d60cdd60a9938d.tar.gz |
check copyin return values when loading pallete
Noticed by: Coverity Prevent analysis tool
Diffstat (limited to 'sys/dev/fb')
-rw-r--r-- | sys/dev/fb/vga.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/sys/dev/fb/vga.c b/sys/dev/fb/vga.c index 55530bb..b32625f 100644 --- a/sys/dev/fb/vga.c +++ b/sys/dev/fb/vga.c @@ -2891,10 +2891,13 @@ set_palette(video_adapter_t *adp, int base, int count, r = malloc(count*3, M_DEVBUF, M_WAITOK); g = r + count; b = g + count; - copyin(red, r, count); - copyin(green, g, count); - copyin(blue, b, count); - err = vga_load_palette2(adp, base, count, r, g, b); + err = copyin(red, r, count); + if (!err) + err = copyin(green, g, count); + if (!err) + err = copyin(blue, b, count); + if (!err) + err = vga_load_palette2(adp, base, count, r, g, b); free(r, M_DEVBUF); return (err ? ENODEV : 0); |