Module Name:    src
Committed By:   snj
Date:           Thu Jan 21 08:38:45 UTC 2010

Modified Files:
        src/sys/dev/pci [netbsd-5]: azalia.c
        src/sys/dev/pci/hdaudio [netbsd-5]: hdaudio_afg.c

Log Message:
Pull up following revision(s) (requested by tonnerre in ticket #1258):
        sys/dev/pci/azalia.c: revision 1.72
        sys/dev/pci/hdaudio/hdaudio_afg.c: revision 1.19
Signedness bug/crash in azalia and hdaudio. Fixes PR 42604.
By Pierre Pronchery.


To generate a diff of this commit:
cvs rdiff -u -r1.64.6.1 -r1.64.6.2 src/sys/dev/pci/azalia.c
cvs rdiff -u -r1.14.2.5 -r1.14.2.6 src/sys/dev/pci/hdaudio/hdaudio_afg.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/dev/pci/azalia.c
diff -u src/sys/dev/pci/azalia.c:1.64.6.1 src/sys/dev/pci/azalia.c:1.64.6.2
--- src/sys/dev/pci/azalia.c:1.64.6.1	Mon Mar  2 19:53:26 2009
+++ src/sys/dev/pci/azalia.c	Thu Jan 21 08:38:45 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: azalia.c,v 1.64.6.1 2009/03/02 19:53:26 snj Exp $	*/
+/*	$NetBSD: azalia.c,v 1.64.6.2 2010/01/21 08:38:45 snj Exp $	*/
 
 /*-
  * Copyright (c) 2005 The NetBSD Foundation, Inc.
@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: azalia.c,v 1.64.6.1 2009/03/02 19:53:26 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: azalia.c,v 1.64.6.2 2010/01/21 08:38:45 snj Exp $");
 
 #include <sys/param.h>
 #include <sys/device.h>
@@ -2257,7 +2257,7 @@
 
 	az = v;
 	co = &az->codecs[az->codecno];
-	if (mdev->index >= co->nmixers)
+	if (mdev->index < 0 || mdev->index >= co->nmixers)
 		return ENXIO;
 	*mdev = co->mixers[mdev->index].devinfo;
 	return 0;

Index: src/sys/dev/pci/hdaudio/hdaudio_afg.c
diff -u src/sys/dev/pci/hdaudio/hdaudio_afg.c:1.14.2.5 src/sys/dev/pci/hdaudio/hdaudio_afg.c:1.14.2.6
--- src/sys/dev/pci/hdaudio/hdaudio_afg.c:1.14.2.5	Sun Oct 18 16:50:13 2009
+++ src/sys/dev/pci/hdaudio/hdaudio_afg.c	Thu Jan 21 08:38:45 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: hdaudio_afg.c,v 1.14.2.5 2009/10/18 16:50:13 bouyer Exp $ */
+/* $NetBSD: hdaudio_afg.c,v 1.14.2.6 2010/01/21 08:38:45 snj Exp $ */
 
 /*
  * Copyright (c) 2009 Precedence Technologies Ltd <[email protected]>
@@ -60,7 +60,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: hdaudio_afg.c,v 1.14.2.5 2009/10/18 16:50:13 bouyer Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hdaudio_afg.c,v 1.14.2.6 2010/01/21 08:38:45 snj Exp $");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -3500,7 +3500,7 @@
 	struct hdaudio_audiodev *ad = opaque;
 	struct hdaudio_afg_softc *sc = ad->ad_sc;
 
-	if (di->index >= sc->sc_nmixers)
+	if (di->index < 0 || di->index >= sc->sc_nmixers)
 		return ENXIO;
 
 	*di = sc->sc_mixers[di->index].mx_di;

Reply via email to