Module Name:    src
Committed By:   martin
Date:           Sat Oct 19 16:19:13 UTC 2013

Modified Files:
        src/sys/arch/mac68k/dev: adb_direct.c

Log Message:
Make sure we don't accidently pass an unsolicited packet as "ack only"
(which would dereference unitialized pointers)


To generate a diff of this commit:
cvs rdiff -u -r1.64 -r1.65 src/sys/arch/mac68k/dev/adb_direct.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/mac68k/dev/adb_direct.c
diff -u src/sys/arch/mac68k/dev/adb_direct.c:1.64 src/sys/arch/mac68k/dev/adb_direct.c:1.65
--- src/sys/arch/mac68k/dev/adb_direct.c:1.64	Fri Oct 18 18:38:49 2013
+++ src/sys/arch/mac68k/dev/adb_direct.c	Sat Oct 19 16:19:13 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: adb_direct.c,v 1.64 2013/10/18 18:38:49 martin Exp $	*/
+/*	$NetBSD: adb_direct.c,v 1.65 2013/10/19 16:19:13 martin Exp $	*/
 
 /* From: adb_direct.c 2.02 4/18/97 jpw */
 
@@ -62,7 +62,7 @@
 #ifdef __NetBSD__
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: adb_direct.c,v 1.64 2013/10/18 18:38:49 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: adb_direct.c,v 1.65 2013/10/19 16:19:13 martin Exp $");
 
 #include "opt_adb.h"
 
@@ -1693,6 +1693,8 @@ adb_pass_up(struct adbCommand *in)
  	 * the caller sent us.
  	 */
 	if (in->unsol) {
+		if (in->ack_only) panic("invalid ack-only pkg");
+
 		adbInbound[adbInTail].compRout = (void *)block.dbServiceRtPtr;
 		adbInbound[adbInTail].compData = (void *)block.dbDataAreaAddr;
 		adbInbound[adbInTail].saveBuf = (void *)adbInbound[adbInTail].data;

Reply via email to