summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormglocker <mglocker@openbsd.org>2009-02-06 14:24:44 +0000
committermglocker <mglocker@openbsd.org>2009-02-06 14:24:44 +0000
commitc8e12317e35ef0dd35d05926ff3ab718f208c659 (patch)
tree5207e7e18daacb336ba3f5d7ee749a0cd8ac1a26
parentfix typo (huawei e619g -> e169g). umsm.c log agrees (as pointed out by jsg) (diff)
downloadwireguard-openbsd-c8e12317e35ef0dd35d05926ff3ab718f208c659.tar.xz
wireguard-openbsd-c8e12317e35ef0dd35d05926ff3ab718f208c659.zip
Fix kernel crash (page fault) for devices with unsorted frame index.
Problem reported by Kenji Aoyama
-rw-r--r--sys/dev/usb/uvideo.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/dev/usb/uvideo.c b/sys/dev/usb/uvideo.c
index 71843e1691f..634b9c4a8cf 100644
--- a/sys/dev/usb/uvideo.c
+++ b/sys/dev/usb/uvideo.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: uvideo.c,v 1.114 2008/12/22 20:51:18 mglocker Exp $ */
+/* $OpenBSD: uvideo.c,v 1.115 2009/02/06 14:24:44 mglocker Exp $ */
/*
* Copyright (c) 2008 Robert Nagy <robert@openbsd.org>
@@ -1000,7 +1000,7 @@ uvideo_vs_parse_desc_frame_mjpeg(struct uvideo_softc *sc,
sc->sc_fmtgrp[fmtidx].frame_num++;
- if (d->bFrameIndex ==
+ if (sc->sc_fmtgrp[fmtidx].frame_num ==
sc->sc_fmtgrp[fmtidx].format->bNumFrameDescriptors)
sc->sc_fmtgrp_idx++;
@@ -1037,7 +1037,7 @@ uvideo_vs_parse_desc_frame_uncompressed(struct uvideo_softc *sc,
sc->sc_fmtgrp[fmtidx].frame_num++;
- if (d->bFrameIndex ==
+ if (sc->sc_fmtgrp[fmtidx].frame_num ==
sc->sc_fmtgrp[fmtidx].format->bNumFrameDescriptors)
sc->sc_fmtgrp_idx++;